Excel 2003 macro
Fermé
abyssus
Messages postés
29
Date d'inscription
vendredi 23 juillet 2004
Statut
Membre
Dernière intervention
23 juillet 2007
-
23 juil. 2007 à 10:21
abyssus Messages postés 29 Date d'inscription vendredi 23 juillet 2004 Statut Membre Dernière intervention 23 juillet 2007 - 23 juil. 2007 à 16:53
abyssus Messages postés 29 Date d'inscription vendredi 23 juillet 2004 Statut Membre Dernière intervention 23 juillet 2007 - 23 juil. 2007 à 16:53
A voir également:
- Excel 2003 macro
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Liste déroulante excel - Guide
- Si et excel - Guide
- Word et excel gratuit - Guide
- Aller à la ligne excel - Guide
3 réponses
m@rina
Messages postés
21235
Date d'inscription
mardi 12 juin 2007
Statut
Contributeur
Dernière intervention
7 janvier 2025
11 376
23 juil. 2007 à 11:19
23 juil. 2007 à 11:19
Bonjour,
Si ça marche pour trois, pourquoi ça ne marchait pas pour quatre ?.. ;))
Il faudrait que tu nous donnes le code.
m@rina
Si ça marche pour trois, pourquoi ça ne marchait pas pour quatre ?.. ;))
Il faudrait que tu nous donnes le code.
m@rina
m@rina
Messages postés
21235
Date d'inscription
mardi 12 juin 2007
Statut
Contributeur
Dernière intervention
7 janvier 2025
11 376
23 juil. 2007 à 14:39
23 juil. 2007 à 14:39
Rebonjour,
Je t'ai écrit une autre macro, plus légère. Les imbrications de IF ne servent à rien.
Pour plus de facilité, j'ai utilisé les cellules A1, B1 et C1. A toi de modifier par les tiennes. Tu peux utiliser autant de cellules que tu veux.
m@rina
Je t'ai écrit une autre macro, plus légère. Les imbrications de IF ne servent à rien.
Pour plus de facilité, j'ai utilisé les cellules A1, B1 et C1. A toi de modifier par les tiennes. Tu peux utiliser autant de cellules que tu veux.
Private Sub Worksheet_Change(ByVal Target As Range) x = Range("A1").Value y = Range("B1").Value z = Range("C1").Value If x = y And y = z Then Exit Sub If Target.Address = "$A$1" Then Range("B1", "C1") = x If Target.Address = "$B$1" Then Range("A1", "C1") = y If Target.Address = "$C$1" Then Range("A1", "B1") = z End Sub
m@rina
abyssus
Messages postés
29
Date d'inscription
vendredi 23 juillet 2004
Statut
Membre
Dernière intervention
23 juillet 2007
1
23 juil. 2007 à 15:20
23 juil. 2007 à 15:20
merci pour la réponse, j'ai essayé et ça ne marche que pour un bloc. j'ai plusieurs blocs pareils, je pense que ç'est à cause de "Exit Sub" parce que chaque bloc a un "Exit Sub" alors cmt faire ?
m@rina
Messages postés
21235
Date d'inscription
mardi 12 juin 2007
Statut
Contributeur
Dernière intervention
7 janvier 2025
11 376
23 juil. 2007 à 16:04
23 juil. 2007 à 16:04
En fait, il me semble que la ligne
If x = y And y = z Then Exit Sub
ne sert à rien
puisque, automatiquement, les cellules changent en fonction d'une qui est modifiée... Donc, elles seront forcément identiques...
A moins que tu ne m'aies pas tout dit ! ;)
m@rina
If x = y And y = z Then Exit Sub
ne sert à rien
puisque, automatiquement, les cellules changent en fonction d'une qui est modifiée... Donc, elles seront forcément identiques...
A moins que tu ne m'aies pas tout dit ! ;)
m@rina
abyssus
Messages postés
29
Date d'inscription
vendredi 23 juillet 2004
Statut
Membre
Dernière intervention
23 juillet 2007
1
23 juil. 2007 à 16:24
23 juil. 2007 à 16:24
parce que sans cette condition, le pgm tourne indéfiniment !!!!
et justement j'ai essayé ton pgm avec 4 cells et ça ne marche pas parce que Range() ne prend que 2 arguments : If Target.Address = "$A$1" Then Range("B1", "C1") = x
si je fais Union(Range(), Range(),...), ça sélection une plage et non des cellules !!!
et justement j'ai essayé ton pgm avec 4 cells et ça ne marche pas parce que Range() ne prend que 2 arguments : If Target.Address = "$A$1" Then Range("B1", "C1") = x
si je fais Union(Range(), Range(),...), ça sélection une plage et non des cellules !!!
abyssus
Messages postés
29
Date d'inscription
vendredi 23 juillet 2004
Statut
Membre
Dernière intervention
23 juillet 2007
1
23 juil. 2007 à 16:53
23 juil. 2007 à 16:53
excuses-moi, je pose le pb autrement :
comment mettre à jour des cellules d'une colonne "ok/nok" en fonction des col_A et col_C ?
càd si je mets "ok" sur la cellule à droite de nom2, la macro cherche toutes les cellules "nom2" et mets ok sur les cellules correspondantes, comme sur l'exemple ci-dessous.
merci pour ta réponse
col_A ok/nok col_C ok/nok
nom1 nom2 ok
nom2 ok nom5
nom3 nom2 ok
nom4 nom3
nom4 nom4
comment mettre à jour des cellules d'une colonne "ok/nok" en fonction des col_A et col_C ?
càd si je mets "ok" sur la cellule à droite de nom2, la macro cherche toutes les cellules "nom2" et mets ok sur les cellules correspondantes, comme sur l'exemple ci-dessous.
merci pour ta réponse
col_A ok/nok col_C ok/nok
nom1 nom2 ok
nom2 ok nom5
nom3 nom2 ok
nom4 nom3
nom4 nom4
23 juil. 2007 à 11:49
merci d'avance
Private Sub Worksheet_Change(ByVal Target As Range)
x = Range("O4").Value
y = Range("V3").Value
z = Range("V32").Value
If x = y And y = z Then Exit Sub
If Target.Address = "$O$4" Then
Range("V3") = Target
Range("V32") = Target
ElseIf Target.Address = "$V$3" Then
Range("O4") = Target
Range("V32") = Target
ElseIf Target.Address = "$V$32" Then
Range("O4") = Target
Range("V3") = Target
End If