Formule Excel
Fermé
KarlyneLoriau
-
18 mai 2020 à 09:51
ccm81 Messages postés 10907 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 24 janvier 2025 - 22 juil. 2020 à 16:01
ccm81 Messages postés 10907 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 24 janvier 2025 - 22 juil. 2020 à 16:01
A voir également:
- Formule Excel
- Formule excel pour additionner plusieurs cellules - Guide
- Formule excel si et - Guide
- Formule excel moyenne - Guide
- Excel mise en forme conditionnelle formule - Guide
- Liste déroulante excel - Guide
13 réponses
via55
Messages postés
14512
Date d'inscription
mercredi 16 janvier 2013
Statut
Membre
Dernière intervention
18 janvier 2025
2 740
18 mai 2020 à 10:50
18 mai 2020 à 10:50
Bonjour
1) Pour le message en G23 une formule =SI(NBVAL(G5:G22)=18;"MAINTENANCE VALIDÉE";"")
2) Pour le masquage des colonnes il faut une macro
dlmnt
Via
1) Pour le message en G23 une formule =SI(NBVAL(G5:G22)=18;"MAINTENANCE VALIDÉE";"")
2) Pour le masquage des colonnes il faut une macro
Private Sub Worksheet_Change(ByVal Target As Range) If Range("G23") = "MAINTENANCE VALIDÉE" Then Columns("G:J").Select Selection.EntireColumn.Hidden = True End If End Sub
dlmnt
Via
PapyLuc51
Messages postés
4447
Date d'inscription
dimanche 3 mai 2009
Statut
Membre
Dernière intervention
20 janvier 2025
1 454
18 mai 2020 à 10:52
18 mai 2020 à 10:52
Bonjour
Pour le 1. cette formule
=SI(NB.VIDE(G5:G22)=0;"MAINTENANCE VALIDÉE";"")
Pour le 2. Il faut une macro pour un masquage automatique.
Sinon sélectionner en cliquant en haut sur la tête des colonnes (clic sur G et glisser vers J en maintenant le clic de la souris) puis clic droit et masquer ; c'est aussi bien.
Cordialement
Pour le 1. cette formule
=SI(NB.VIDE(G5:G22)=0;"MAINTENANCE VALIDÉE";"")
Pour le 2. Il faut une macro pour un masquage automatique.
Sinon sélectionner en cliquant en haut sur la tête des colonnes (clic sur G et glisser vers J en maintenant le clic de la souris) puis clic droit et masquer ; c'est aussi bien.
Cordialement
ccm81
Messages postés
10907
Date d'inscription
lundi 18 octobre 2010
Statut
Membre
Dernière intervention
24 janvier 2025
2 429
18 mai 2020 à 10:54
18 mai 2020 à 10:54
Bonjour
Pour le masquage, il va falloir passer par une macro
https://www.cjoint.com/c/JEsi0TjdsWB
Sinon en G23
=SI(NBVAL(G5:G22)=18;"maintenance validée";"")
Cdlmnt
Pour le masquage, il va falloir passer par une macro
https://www.cjoint.com/c/JEsi0TjdsWB
Sinon en G23
=SI(NBVAL(G5:G22)=18;"maintenance validée";"")
Cdlmnt
Une autre question svp. Je souhaite appliquer la meme macro pour les plages (elles se masquent une fois "maintenance terminée"
K : N
O : R
S : V
W :Z
AA : AD
AE : AH
AI : AL
AM : AP
AQ : AT
AU : AX
AY : BB
BC : BF
BG :BJ
BK : bN
BO : BR
BS : BV
BW :BZ
CA : CD
CE : CH
CI : CL
CM : CP
CQ : Ct
CU : CX
CY : DB
DC : DF
DG : DJ
DK : DN
DO : dR
DS : dv
DW :dZ
Ea : ed
K : N
O : R
S : V
W :Z
AA : AD
AE : AH
AI : AL
AM : AP
AQ : AT
AU : AX
AY : BB
BC : BF
BG :BJ
BK : bN
BO : BR
BS : BV
BW :BZ
CA : CD
CE : CH
CI : CL
CM : CP
CQ : Ct
CU : CX
CY : DB
DC : DF
DG : DJ
DK : DN
DO : dR
DS : dv
DW :dZ
Ea : ed
ccm81
Messages postés
10907
Date d'inscription
lundi 18 octobre 2010
Statut
Membre
Dernière intervention
24 janvier 2025
2 429
18 mai 2020 à 17:05
18 mai 2020 à 17:05
Un essai
https://mon-partage.fr/f/TEkPf7G7/
Cdlmnt
https://mon-partage.fr/f/TEkPf7G7/
Cdlmnt
ccm81
Messages postés
10907
Date d'inscription
lundi 18 octobre 2010
Statut
Membre
Dernière intervention
24 janvier 2025
2 429
18 mai 2020 à 20:06
18 mai 2020 à 20:06
As tu vu ma proposition (post 14) ?
KarlyneLoriau
>
ccm81
Messages postés
10907
Date d'inscription
lundi 18 octobre 2010
Statut
Membre
Dernière intervention
24 janvier 2025
22 mai 2020 à 07:08
22 mai 2020 à 07:08
Désolée du retard je n etais plus sur le projet.
Votre proposition fonctionne. Pouvez vous m expliquer comment faire ? Merci
Votre proposition fonctionne. Pouvez vous m expliquer comment faire ? Merci
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
ccm81
Messages postés
10907
Date d'inscription
lundi 18 octobre 2010
Statut
Membre
Dernière intervention
24 janvier 2025
2 429
22 mai 2020 à 10:53
22 mai 2020 à 10:53
Bonjour
Tu colles ce code dans le module de la feuille à traiter
Une fois la première colonne de la plage (de 18 lignes et 4 colonnes) à traiter est remplie, la macro se lancera
Si les adresses ne sont plus les mêmes dans ton fichier, tu modifies les valeurs des constantes (Const) en début de code
https://mon-partage.fr/f/ySZVPThA/
Cdlmnt
Tu colles ce code dans le module de la feuille à traiter
Option Explicit Const codeb = 7 ' première colonne plage à traiter Const cofin = 131 ' denière colonne EA Const lideb = 5 ' première ligne plage à traiter Const lifin = 22 ' dernière ligne Const nbco = 4 ' nbre colonnes à masquer par plage Private Sub Worksheet_Change(ByVal Target As Range) Dim co As Long, li As Long, plage As Range, co1 As String, co2 As String, adr As String If Target.Count > 1 Then Exit Sub co = Target.Column li = Target.Row adr = Cells(li, co).Address co1 = Split(adr, "$")(1) adr = Cells(li, co + nbco - 1).Address co2 = Split(adr, "$")(1) If (co - codeb) Mod nbco = 0 Then If li >= lideb And li <= lifin Then Set plage = Range(Cells(lideb, co), Cells(lifin, co)) If Not Intersect(Target, plage) Is Nothing Then If Application.WorksheetFunction.CountBlank(plage) = 0 Then Cells(lifin + 1, co).Value = "MAINTENANCE VALIDEE" Application.Wait (Now + TimeValue("0:00:3")) ' attend 3s avant de masquer Columns(co1 & ":" & co2).EntireColumn.Hidden = True End If End If End If End If End Sub
Une fois la première colonne de la plage (de 18 lignes et 4 colonnes) à traiter est remplie, la macro se lancera
Si les adresses ne sont plus les mêmes dans ton fichier, tu modifies les valeurs des constantes (Const) en début de code
https://mon-partage.fr/f/ySZVPThA/
Cdlmnt
Merci ça marche !! Par contre j'ai ce même tableau, dans plusieurs feuilles différentes, et je n'arrive pas à appliquer ce code dans chacune des feuilles. Comment faire ?
Merci
Merci
ccm81
Messages postés
10907
Date d'inscription
lundi 18 octobre 2010
Statut
Membre
Dernière intervention
24 janvier 2025
2 429
15 juil. 2020 à 10:25
15 juil. 2020 à 10:25
Bonjour
Il te suffit (en principe) de recopier le code dans les modules des feuilles à traiter
https://mon-partage.fr/f/7x4LrWHe/
Cdlmnt
Il te suffit (en principe) de recopier le code dans les modules des feuilles à traiter
https://mon-partage.fr/f/7x4LrWHe/
Cdlmnt
ccm81
Messages postés
10907
Date d'inscription
lundi 18 octobre 2010
Statut
Membre
Dernière intervention
24 janvier 2025
2 429
15 juil. 2020 à 11:34
15 juil. 2020 à 11:34
De rien
Non cela ne fonctionne pas
Avec mon fichier ou avec le tien ?
Cdlmnt
Non cela ne fonctionne pas
Avec mon fichier ou avec le tien ?
Cdlmnt
ccm81
Messages postés
10907
Date d'inscription
lundi 18 octobre 2010
Statut
Membre
Dernière intervention
24 janvier 2025
2 429
15 juil. 2020 à 11:58
15 juil. 2020 à 11:58
peut être un pb d'adresse de début tableau
sinon envoies ton fichier avec trois feuilles à traiter
Cdlmnt
Const codeb = 11 ' première colonne plage à traiter
Const lideb = 5 ' première ligne plage à traiter
Const lifin = 22 ' dernière ligne
sinon envoies ton fichier avec trois feuilles à traiter
Cdlmnt
J'ai pas réussi, je vous ai copier mon tableau entier.
https://mon-partage.fr/f/9vlZV8cf/
Je souhaite appliquer la macro à toutes les feuilles qui suivent "balance"
Merci encore vous me sauvez
https://mon-partage.fr/f/9vlZV8cf/
Je souhaite appliquer la macro à toutes les feuilles qui suivent "balance"
Merci encore vous me sauvez
ccm81
Messages postés
10907
Date d'inscription
lundi 18 octobre 2010
Statut
Membre
Dernière intervention
24 janvier 2025
2 429
Modifié le 15 juil. 2020 à 15:30
Modifié le 15 juil. 2020 à 15:30
Le pb vient du fait que la dernière ligne n'est pas la même dans toutes les feuilles
Const lifin = 22 ' dernière ligne
Donc deux solutions (à toi de choisir)
S1. Tu modifies la valeur de lifin dans chacun des modules (et c'est fini)
S2. Dans mon retour, je m'y suis pris autrement pour ne pas avoir à faire la manip
Je récupère la valeur de lifin (qui devient une variable) en recherchant dans les colonnes "D:F" le mot "Commentaire"
je t'ai modifié le code dans Balances, Zebra et Soudeuses, qu'il te faudra recopier dans les autres modules (pas sur que ça te prenne moins de temps !)
https://mon-partage.fr/f/VJyoCm1P/
Cdlmnt
Const lifin = 22 ' dernière ligne
Donc deux solutions (à toi de choisir)
S1. Tu modifies la valeur de lifin dans chacun des modules (et c'est fini)
S2. Dans mon retour, je m'y suis pris autrement pour ne pas avoir à faire la manip
Je récupère la valeur de lifin (qui devient une variable) en recherchant dans les colonnes "D:F" le mot "Commentaire"
je t'ai modifié le code dans Balances, Zebra et Soudeuses, qu'il te faudra recopier dans les autres modules (pas sur que ça te prenne moins de temps !)
https://mon-partage.fr/f/VJyoCm1P/
Cdlmnt
ccm81
Messages postés
10907
Date d'inscription
lundi 18 octobre 2010
Statut
Membre
Dernière intervention
24 janvier 2025
2 429
22 juil. 2020 à 15:39
22 juil. 2020 à 15:39
De rien
Si c'est fini, peux tu mettre le sujet à résolu (en haut dans ton premier message)
Cdlmnt
Si c'est fini, peux tu mettre le sujet à résolu (en haut dans ton premier message)
Cdlmnt
ccm81
Messages postés
10907
Date d'inscription
lundi 18 octobre 2010
Statut
Membre
Dernière intervention
24 janvier 2025
2 429
22 juil. 2020 à 16:01
22 juil. 2020 à 16:01
No problemo !
18 mai 2020 à 11:09
Je ne sais pas comment creer et appliquer la macro
18 mai 2020 à 11:24
Tu copies ma macro
Tu double clic sur nom de la feuille où l'appliquer dans l'arborescence à gauche
tu colles la macro dans la page blanche et tu fermes l'éditeur
18 mai 2020 à 11:31
18 mai 2020 à 14:00
K : N
O : R
S : V
W :Z
AA : AD
AE : AH
AI : AL
AM : AP
AQ : AT
AU : AX
AY : BB
BC : BF
BG :BJ
BK : bN
BO : BR
BS : BV
BW :BZ
CA : CD
CE : CH
CI : CL
CM : CP
CQ : Ct
CU : CX
CY : DB
DC : DF
DG : DJ
DK : DN
DO : dR
DS : dv
DW :dZ
Ea : ed
Svp
Modifié le 18 mai 2020 à 15:51
Columns("G:J").Select
en Columns("G:ED").Select