Problème avec une macro sous excel
Résolu/Fermé
tibatcool
Messages postés
33
Date d'inscription
mardi 29 décembre 2009
Statut
Membre
Dernière intervention
12 juillet 2010
-
29 déc. 2009 à 15:20
tibatcool Messages postés 33 Date d'inscription mardi 29 décembre 2009 Statut Membre Dernière intervention 12 juillet 2010 - 30 déc. 2009 à 16:45
tibatcool Messages postés 33 Date d'inscription mardi 29 décembre 2009 Statut Membre Dernière intervention 12 juillet 2010 - 30 déc. 2009 à 16:45
A voir également:
- Problème avec une macro sous excel
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Liste déroulante excel - Guide
- Déplacer une colonne excel - Guide
- Word et excel gratuit - Guide
- Calculer une moyenne sur excel - Guide
18 réponses
moiced59
Messages postés
1145
Date d'inscription
samedi 15 novembre 2008
Statut
Membre
Dernière intervention
18 août 2014
60
30 déc. 2009 à 10:40
30 déc. 2009 à 10:40
moi je fais com ca et ca marche:
J = 7 'colonne
I = 4 'ligne
do until J = 10
do until i = 10938
If Cells(I, J).Interior.ColorIndex = 3 Then
Cells(I, J).EntireRow.Interior.ColorIndex = 4
Cells(I, J).EntireRow.Hidden = False 'True pour cacher
End If
i = i+1
loop
i= 2
j = j+1
loop
J = 7 'colonne
I = 4 'ligne
do until J = 10
do until i = 10938
If Cells(I, J).Interior.ColorIndex = 3 Then
Cells(I, J).EntireRow.Interior.ColorIndex = 4
Cells(I, J).EntireRow.Hidden = False 'True pour cacher
End If
i = i+1
loop
i= 2
j = j+1
loop
informatifien
Messages postés
741
Date d'inscription
lundi 18 mai 2009
Statut
Membre
Dernière intervention
10 janvier 2016
92
29 déc. 2009 à 15:22
29 déc. 2009 à 15:22
salut,
je suis pas un super balaise mais ne faut-il pas dire next y au lieu de juste next pour que ça passe à la colonne suivante ?
je suis pas un super balaise mais ne faut-il pas dire next y au lieu de juste next pour que ça passe à la colonne suivante ?
tibatcool
Messages postés
33
Date d'inscription
mardi 29 décembre 2009
Statut
Membre
Dernière intervention
12 juillet 2010
5
29 déc. 2009 à 15:34
29 déc. 2009 à 15:34
Merci de la rapidité de ta réponse mais ça ne change rien à mon tableau
Désolé :) .
Désolé :) .
informatifien
Messages postés
741
Date d'inscription
lundi 18 mai 2009
Statut
Membre
Dernière intervention
10 janvier 2016
92
29 déc. 2009 à 15:46
29 déc. 2009 à 15:46
alors mes competence ne peuvent pas plus pour toi enfin si je viens de percuter que j'utilise pour les boucles for next cette synthaxe:
For y = 1 to 10 ' de ou tu veux à tu veux biensur si tu precise rien le pas est de 1+1 si tu ajoute par exemple step 3 le pas sera de 3 en 3If Y.Interior.ColorIndex = 3 Then
Y.EntireRow.Hidden = True 'False pour cacher
End If
Next y
For y = 1 to 10 ' de ou tu veux à tu veux biensur si tu precise rien le pas est de 1+1 si tu ajoute par exemple step 3 le pas sera de 3 en 3If Y.Interior.ColorIndex = 3 Then
Y.EntireRow.Hidden = True 'False pour cacher
End If
Next y
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
tibatcool
Messages postés
33
Date d'inscription
mardi 29 décembre 2009
Statut
Membre
Dernière intervention
12 juillet 2010
5
29 déc. 2009 à 16:06
29 déc. 2009 à 16:06
oui je connais cette forme mais je n'y arrive pas trop avec donc je suis partit sur ce que j'ai fais. En fait je voudrais mettre un "and" dans ma boucle "for" pour passer d'une colonne a une autre mais je n'y arrive pas.
informatifien
Messages postés
741
Date d'inscription
lundi 18 mai 2009
Statut
Membre
Dernière intervention
10 janvier 2016
92
29 déc. 2009 à 16:13
29 déc. 2009 à 16:13
arf je suis désolé je ne vois pas comment faire j'ai bidouill" pas mal de truc mais un peu à l'arrache . . ..quelqu'un devrait pouvoir te solutionné ça .. .au pire demain matin fais un petit up sur ton post
moiced59
Messages postés
1145
Date d'inscription
samedi 15 novembre 2008
Statut
Membre
Dernière intervention
18 août 2014
60
29 déc. 2009 à 16:20
29 déc. 2009 à 16:20
bonjour
>For Each Y In Range("G4:G10938") 'test num de dossier
>If Y.Interior.ColorIndex = 3 Then
> Y.EntireRow.Hidden = True 'False pour cacher
>End If
>Next
si tu faisais ca:
i = 4
ii= 7
for ii = 7 to 10 'met ce que tu veux
for i =4 to 10000 ' met ce que tu veux
>If cells(i,ii).Interior.ColorIndex = 3 Then
> cells(i,ii).EntireRow.Hidden = True 'False pour cacher
i = i+1
>End If
loop
ii = ii +1
loop
>For Each Y In Range("G4:G10938") 'test num de dossier
>If Y.Interior.ColorIndex = 3 Then
> Y.EntireRow.Hidden = True 'False pour cacher
>End If
>Next
si tu faisais ca:
i = 4
ii= 7
for ii = 7 to 10 'met ce que tu veux
for i =4 to 10000 ' met ce que tu veux
>If cells(i,ii).Interior.ColorIndex = 3 Then
> cells(i,ii).EntireRow.Hidden = True 'False pour cacher
i = i+1
>End If
loop
ii = ii +1
loop
tibatcool
Messages postés
33
Date d'inscription
mardi 29 décembre 2009
Statut
Membre
Dernière intervention
12 juillet 2010
5
29 déc. 2009 à 16:20
29 déc. 2009 à 16:20
comment on fait un up ? je vien juste de me créer un compte je connais pas encore tout :)
merci
merci
informatifien
Messages postés
741
Date d'inscription
lundi 18 mai 2009
Statut
Membre
Dernière intervention
10 janvier 2016
92
29 déc. 2009 à 16:22
29 déc. 2009 à 16:22
ben demain matin tu reviens sur ton poste et ut ecrit ou juste up ou bonjour, toujours personne pour m'aider? et ca remettra ton post en haut de la liste ;)
tu y vera certainement un des mien dailleur lol car pas encore solutionné sur du VBA aussi beinvenue au club des novices ;)
tu y vera certainement un des mien dailleur lol car pas encore solutionné sur du VBA aussi beinvenue au club des novices ;)
moiced59
Messages postés
1145
Date d'inscription
samedi 15 novembre 2008
Statut
Membre
Dernière intervention
18 août 2014
60
29 déc. 2009 à 16:38
29 déc. 2009 à 16:38
tu as testé?
tibatcool
Messages postés
33
Date d'inscription
mardi 29 décembre 2009
Statut
Membre
Dernière intervention
12 juillet 2010
5
29 déc. 2009 à 16:53
29 déc. 2009 à 16:53
Je comprend ce que tu m'as écris je l'ai tester en le modifiant car il n'est pas tout a fait juste mais je remarque aucun changement je vais faire un test sur un petit fichier excel test je te tiens au courant
moiced59
Messages postés
1145
Date d'inscription
samedi 15 novembre 2008
Statut
Membre
Dernière intervention
18 août 2014
60
29 déc. 2009 à 16:54
29 déc. 2009 à 16:54
tu as modifié koi?
tibatcool
Messages postés
33
Date d'inscription
mardi 29 décembre 2009
Statut
Membre
Dernière intervention
12 juillet 2010
5
29 déc. 2009 à 16:56
29 déc. 2009 à 16:56
Voila les transformations (je pouvais pas compiler sinon) :
For J = 7 To 10 'colonne
For I = 4 To 10938 'ligne
If Cells(I, J).Interior.ColorIndex = 3 Then
Cells(I, J).EntireRow.Interior.ColorIndex = 4
Cells(I, J).EntireRow.Hidden = False 'True pour cacher
End If
Next
Next
For J = 7 To 10 'colonne
For I = 4 To 10938 'ligne
If Cells(I, J).Interior.ColorIndex = 3 Then
Cells(I, J).EntireRow.Interior.ColorIndex = 4
Cells(I, J).EntireRow.Hidden = False 'True pour cacher
End If
Next
Next
tibatcool
Messages postés
33
Date d'inscription
mardi 29 décembre 2009
Statut
Membre
Dernière intervention
12 juillet 2010
5
30 déc. 2009 à 10:25
30 déc. 2009 à 10:25
bonjour, toujours personne pour m'aider ?
tibatcool
Messages postés
33
Date d'inscription
mardi 29 décembre 2009
Statut
Membre
Dernière intervention
12 juillet 2010
5
30 déc. 2009 à 14:06
30 déc. 2009 à 14:06
Merci moiced59, après une ou deux modif perso ça marche.
moiced59
Messages postés
1145
Date d'inscription
samedi 15 novembre 2008
Statut
Membre
Dernière intervention
18 août 2014
60
30 déc. 2009 à 14:16
30 déc. 2009 à 14:16
tu peux mettre ton code peut etre qu il pourra servir a quelqu un
merci
merci
tibatcool
Messages postés
33
Date d'inscription
mardi 29 décembre 2009
Statut
Membre
Dernière intervention
12 juillet 2010
5
30 déc. 2009 à 15:10
30 déc. 2009 à 15:10
J'ai planté Excel mais dès que je l'ai récup je le met, don't worry ;)
tibatcool
Messages postés
33
Date d'inscription
mardi 29 décembre 2009
Statut
Membre
Dernière intervention
12 juillet 2010
5
30 déc. 2009 à 16:45
30 déc. 2009 à 16:45
Voici le morceau de ma macro : en fait en retournant le problème dans tout les sens je ferai ça en deux fois
J = 14 'colonne
Do Until J = 53
I = 3 'ligne
Do Until I = 10941
If Cells(I, J).Interior.ColorIndex = 5 Then
Cells(I, J) = ""
Cells(I, J).Interior.ColorIndex = 2
End If
I = I + 1
Loop
J = J + 1
Loop
J = 14 'colonne
Do Until J = 53
I = 3 'ligne
Do Until I = 10941
If Cells(I, J).Interior.ColorIndex = 5 Then
Cells(I, J) = ""
Cells(I, J).Interior.ColorIndex = 2
End If
I = I + 1
Loop
J = J + 1
Loop