Macro sous excel
Fermé
koffy13
Messages postés
48
Date d'inscription
lundi 24 septembre 2012
Statut
Membre
Dernière intervention
13 janvier 2014
-
Modifié par Guillaume5188 le 5/12/2013 à 16:41
koffy13 Messages postés 48 Date d'inscription lundi 24 septembre 2012 Statut Membre Dernière intervention 13 janvier 2014 - 6 déc. 2013 à 10:44
koffy13 Messages postés 48 Date d'inscription lundi 24 septembre 2012 Statut Membre Dernière intervention 13 janvier 2014 - 6 déc. 2013 à 10:44
A voir également:
- Macro sous excel
- Liste déroulante excel - Guide
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Macro word - Guide
- Si et excel - Guide
- Formule excel - Guide
4 réponses
via55
Messages postés
14426
Date d'inscription
mercredi 16 janvier 2013
Statut
Membre
Dernière intervention
6 juin 2024
2 711
Modifié par via55 le 5/12/2013 à 16:54
Modifié par via55 le 5/12/2013 à 16:54
Bonjour
Ton code n'a pas d'erreur, il fonctionne parfaitement, je viens d'essayer
Si tu veux cumuler les 3 conditions il faut faire ainsi :
Sub colorer
If Range("A1").Value = Range("A2").Value and Range("A2").Value = Range("B2").Value and Range("C1").Value = Range("C2").Value Then
Range("A2").Interior.ColorIndex = 3
Range("B2").Interior.ColorIndex = 3
Range("C2").Interior.ColorIndex = 3
End If
End sub
Mais tu pourrais aussi bien le faire par simple mise en forme conditionnelle sans passer par une macro
Cdlmnt
"L'imagination est plus importante que le savoir." A. Einstein
Ton code n'a pas d'erreur, il fonctionne parfaitement, je viens d'essayer
Si tu veux cumuler les 3 conditions il faut faire ainsi :
Sub colorer
If Range("A1").Value = Range("A2").Value and Range("A2").Value = Range("B2").Value and Range("C1").Value = Range("C2").Value Then
Range("A2").Interior.ColorIndex = 3
Range("B2").Interior.ColorIndex = 3
Range("C2").Interior.ColorIndex = 3
End If
End sub
Mais tu pourrais aussi bien le faire par simple mise en forme conditionnelle sans passer par une macro
Cdlmnt
"L'imagination est plus importante que le savoir." A. Einstein
koffy13
Messages postés
48
Date d'inscription
lundi 24 septembre 2012
Statut
Membre
Dernière intervention
13 janvier 2014
5 déc. 2013 à 17:01
5 déc. 2013 à 17:01
merci pour la réponse.
cependant pour 2 lignes ça va mais je voudrais comparer plusieurs lignes et je ne veut pas écrire toutes les conditions c'est trop long. Genre comment faire si j'ai 500 lignes ?
J'ai oublié mais j'ai aussi D1 D2 à rajouter, je devrais y arriver mais il faudra que j'écrire les 8 cases à colorier après la condition Then ? ou il existe un raccourci ?
pour la mise en forme conditionnelle je vais regarder mais je connaissais pas
merci
cependant pour 2 lignes ça va mais je voudrais comparer plusieurs lignes et je ne veut pas écrire toutes les conditions c'est trop long. Genre comment faire si j'ai 500 lignes ?
J'ai oublié mais j'ai aussi D1 D2 à rajouter, je devrais y arriver mais il faudra que j'écrire les 8 cases à colorier après la condition Then ? ou il existe un raccourci ?
pour la mise en forme conditionnelle je vais regarder mais je connaissais pas
merci
via55
Messages postés
14426
Date d'inscription
mercredi 16 janvier 2013
Statut
Membre
Dernière intervention
6 juin 2024
2 711
5 déc. 2013 à 17:28
5 déc. 2013 à 17:28
Si tu veux comparer les cellules identiques sur 500 lignes il faut faire une boucle mais au départ il faut savoir ce que tu compares :
Est ce que c'est chaque ligne et celle du dessous ? ou chaque ligne avec toutes les autres ?
s'i l y a par exemple 1, 2 , 3 et 4 en ligne 1 et en ligne 5 puis 3,4,5 et 6 en ligne 3 et en ligne 10 est ce que toutes doivent être colorées en rouge ?
Dans l'attente des précisions
Est ce que c'est chaque ligne et celle du dessous ? ou chaque ligne avec toutes les autres ?
s'i l y a par exemple 1, 2 , 3 et 4 en ligne 1 et en ligne 5 puis 3,4,5 et 6 en ligne 3 et en ligne 10 est ce que toutes doivent être colorées en rouge ?
Dans l'attente des précisions
koffy13
Messages postés
48
Date d'inscription
lundi 24 septembre 2012
Statut
Membre
Dernière intervention
13 janvier 2014
5 déc. 2013 à 17:34
5 déc. 2013 à 17:34
la comparaison c'est chaque ligne avec toutes les autres.
pour ton exemple ligne 1: 1 2 3 4
ligne 5 : 3 4 5 6
ligne 10:3 4 5 6
Les cellules A5 B5 C5 D5 et A10 B10 C10 D10 doivent etre coloriées en rouge.
Oui donc une boucle de manière a si par la suite je supprime une ligne en doublon ça remouline
pour ton exemple ligne 1: 1 2 3 4
ligne 5 : 3 4 5 6
ligne 10:3 4 5 6
Les cellules A5 B5 C5 D5 et A10 B10 C10 D10 doivent etre coloriées en rouge.
Oui donc une boucle de manière a si par la suite je supprime une ligne en doublon ça remouline
via55
Messages postés
14426
Date d'inscription
mercredi 16 janvier 2013
Statut
Membre
Dernière intervention
6 juin 2024
2 711
Modifié par via55 le 5/12/2013 à 18:01
Modifié par via55 le 5/12/2013 à 18:01
OK
donc une boucle du genre
For n=1 to 499
For t= n+1 to 500
If Range("A"& n).Value = Range("A"&t).Value and Range("B"& n).Value = Range("B"& t).Value and
Range("C"& n).Value = Range("C"&t).Value and Range("D"& n).Value = Range("D"& t).Value then
Range("A"& t).Interior.ColorIndex = 3
Range("B" & t).Interior.ColorIndex = 3
Range("C" & t).Interior.ColorIndex = 3
Range("D" & t).Interior.ColorIndex = 3
End If
Next t
Next n
donc une boucle du genre
For n=1 to 499
For t= n+1 to 500
If Range("A"& n).Value = Range("A"&t).Value and Range("B"& n).Value = Range("B"& t).Value and
Range("C"& n).Value = Range("C"&t).Value and Range("D"& n).Value = Range("D"& t).Value then
Range("A"& t).Interior.ColorIndex = 3
Range("B" & t).Interior.ColorIndex = 3
Range("C" & t).Interior.ColorIndex = 3
Range("D" & t).Interior.ColorIndex = 3
End If
Next t
Next n
koffy13
Messages postés
48
Date d'inscription
lundi 24 septembre 2012
Statut
Membre
Dernière intervention
13 janvier 2014
Modifié par koffy13 le 5/12/2013 à 19:13
Modifié par koffy13 le 5/12/2013 à 19:13
ok merci je vais regarder ça et essayer de comprendre ^^.
ça fonctionne par contre ça fais planter excel "ne répond pas"
et "erreur 1004 la méthode 'Run' de l'objet '_Application' a échoué"
j'ai cela en code:
"Sub doublon()
'
' doublon Macro
'
For n = 1 To 499
For t = n + 1 To 500
If Range("A" & n).Value = Range("A" & t).Value And Range("B" & n).Value = Range("B" & t).Value And Range("C" & n).Value = Range("C" & t).Value And Range("D" & n).Value = Range("D" & t).Value Then
Range("A" & t).Interior.ColorIndex = 3
Range("B" & t).Interior.ColorIndex = 3
Range("C" & t).Interior.ColorIndex = 3
Range("D" & t).Interior.ColorIndex = 3
End If
Next t
Next n
'
Application.Run "'meth aaa.xlsx'!doublon"
Application.Goto Reference:="doublon"
End Sub
"
ça fonctionne par contre ça fais planter excel "ne répond pas"
et "erreur 1004 la méthode 'Run' de l'objet '_Application' a échoué"
j'ai cela en code:
"Sub doublon()
'
' doublon Macro
'
For n = 1 To 499
For t = n + 1 To 500
If Range("A" & n).Value = Range("A" & t).Value And Range("B" & n).Value = Range("B" & t).Value And Range("C" & n).Value = Range("C" & t).Value And Range("D" & n).Value = Range("D" & t).Value Then
Range("A" & t).Interior.ColorIndex = 3
Range("B" & t).Interior.ColorIndex = 3
Range("C" & t).Interior.ColorIndex = 3
Range("D" & t).Interior.ColorIndex = 3
End If
Next t
Next n
'
Application.Run "'meth aaa.xlsx'!doublon"
Application.Goto Reference:="doublon"
End Sub
"
koffy13
Messages postés
48
Date d'inscription
lundi 24 septembre 2012
Statut
Membre
Dernière intervention
13 janvier 2014
5 déc. 2013 à 17:29
5 déc. 2013 à 17:29
pour la mise en forme conditionnelle, ça me semble impossible.
via55
Messages postés
14426
Date d'inscription
mercredi 16 janvier 2013
Statut
Membre
Dernière intervention
6 juin 2024
2 711
5 déc. 2013 à 17:31
5 déc. 2013 à 17:31
si tu as 500 lignes oui il faut mieux une macro mais je réitère ma question que veux tu exactement comparer et comment; quels sont les critères de mise en couleur
koffy13
Messages postés
48
Date d'inscription
lundi 24 septembre 2012
Statut
Membre
Dernière intervention
13 janvier 2014
5 déc. 2013 à 17:54
5 déc. 2013 à 17:54
j'ai répondu dans l'autre réponse
"la comparaison c'est chaque ligne avec toutes les autres.
pour ton exemple ligne 1: 1 2 3 4
ligne 5 : 3 4 5 6
ligne 10:3 4 5 6
Les cellules A5 B5 C5 D5 et A10 B10 C10 D10 doivent etre coloriées en rouge.
Oui donc une boucle de manière a si par la suite je supprime une ligne en doublon ça remouline"
si ce n'est pas claire je reformulerais
"la comparaison c'est chaque ligne avec toutes les autres.
pour ton exemple ligne 1: 1 2 3 4
ligne 5 : 3 4 5 6
ligne 10:3 4 5 6
Les cellules A5 B5 C5 D5 et A10 B10 C10 D10 doivent etre coloriées en rouge.
Oui donc une boucle de manière a si par la suite je supprime une ligne en doublon ça remouline"
si ce n'est pas claire je reformulerais
koffy13
Messages postés
48
Date d'inscription
lundi 24 septembre 2012
Statut
Membre
Dernière intervention
13 janvier 2014
5 déc. 2013 à 20:55
5 déc. 2013 à 20:55
la boucle tourne mais ne s'arrête jamais d'où je presume l'explication du message "28 espace pile insuffisant "
via55
Messages postés
14426
Date d'inscription
mercredi 16 janvier 2013
Statut
Membre
Dernière intervention
6 juin 2024
2 711
5 déc. 2013 à 22:55
5 déc. 2013 à 22:55
Chez moi ça fonctionne parfaitement SANS les 2 dernières lignes
Application.Run "'meth aaa.xlsx'!doublon"
Application.Goto Reference:="doublon"
Application.Run "'meth aaa.xlsx'!doublon"
Application.Goto Reference:="doublon"
koffy13
Messages postés
48
Date d'inscription
lundi 24 septembre 2012
Statut
Membre
Dernière intervention
13 janvier 2014
6 déc. 2013 à 10:44
6 déc. 2013 à 10:44
oui je viens de réessayer.
un grand merci pour ton aide !
un grand merci pour ton aide !