MFC sur cellules identiques d'une même colonne
Résolu/Fermé
agathe182
Messages postés
49
Date d'inscription
mercredi 24 août 2016
Statut
Membre
Dernière intervention
26 septembre 2016
-
24 août 2016 à 14:38
agathe182 Messages postés 49 Date d'inscription mercredi 24 août 2016 Statut Membre Dernière intervention 26 septembre 2016 - 15 sept. 2016 à 09:37
agathe182 Messages postés 49 Date d'inscription mercredi 24 août 2016 Statut Membre Dernière intervention 26 septembre 2016 - 15 sept. 2016 à 09:37
A voir également:
- MFC sur cellules identiques d'une même colonne
- Déplacer une colonne excel - Guide
- Formule excel pour additionner plusieurs cellules - Guide
- Trier colonne excel - Guide
- Colonne word - Guide
- Figer une colonne excel - Guide
5 réponses
via55
Messages postés
14495
Date d'inscription
mercredi 16 janvier 2013
Statut
Membre
Dernière intervention
7 novembre 2024
2 734
24 août 2016 à 14:55
24 août 2016 à 14:55
Bonjour Agathe
La solution par VBA n'est peut être pas la meilleure puisque les codes se suivent ; il suffit de rajouter une colonne pour identifier une série de code identique par des 1 puis la série suivante par des 0 puis la suivante de nouveau par des 1 etc et de colorer les lignes avec 1.; ce devrait être assez visuel pour repérer tes séries
Exemple expliqué : http://www.cjoint.com/c/FHym3d7knQ6
Cdlmnt
Via
La solution par VBA n'est peut être pas la meilleure puisque les codes se suivent ; il suffit de rajouter une colonne pour identifier une série de code identique par des 1 puis la série suivante par des 0 puis la suivante de nouveau par des 1 etc et de colorer les lignes avec 1.; ce devrait être assez visuel pour repérer tes séries
Exemple expliqué : http://www.cjoint.com/c/FHym3d7knQ6
Cdlmnt
Via
via55
Messages postés
14495
Date d'inscription
mercredi 16 janvier 2013
Statut
Membre
Dernière intervention
7 novembre 2024
2 734
24 août 2016 à 15:47
24 août 2016 à 15:47
mon fichier est amené à changer toutes les semaines
c'est à dire ? la colonne se rallonge ? toutes les références changent ?
Est que la mise en couleur d'une série sur deux peut aller ?
On peut essayer par VBA mais il faut connaître la structure de ton fichier : postes un exemple de ton fichier (allégé, une centaine de lignes suffiront) sur cjoint.com, fais créer un lien, copies le et reviens le coller ici dans un prochain message
c'est à dire ? la colonne se rallonge ? toutes les références changent ?
Est que la mise en couleur d'une série sur deux peut aller ?
On peut essayer par VBA mais il faut connaître la structure de ton fichier : postes un exemple de ton fichier (allégé, une centaine de lignes suffiront) sur cjoint.com, fais créer un lien, copies le et reviens le coller ici dans un prochain message
agathe182
Messages postés
49
Date d'inscription
mercredi 24 août 2016
Statut
Membre
Dernière intervention
26 septembre 2016
24 août 2016 à 15:51
24 août 2016 à 15:51
La colonne peut se rallonger effectivement, mais la base de ce fichier est une extraction de données de SAP. Le but étant de minimiser les actions manuelles.
Oui une ligne sur deux suffirait largement !
Malheureusement je ne peux pas poster mon fichier en ligne au risque de me faire taper sur les doigts...
Oui une ligne sur deux suffirait largement !
Malheureusement je ne peux pas poster mon fichier en ligne au risque de me faire taper sur les doigts...
via55
Messages postés
14495
Date d'inscription
mercredi 16 janvier 2013
Statut
Membre
Dernière intervention
7 novembre 2024
2 734
>
agathe182
Messages postés
49
Date d'inscription
mercredi 24 août 2016
Statut
Membre
Dernière intervention
26 septembre 2016
24 août 2016 à 16:04
24 août 2016 à 16:04
Ne postes pas l'original bien sûr mais une copie avec des données bidons à la même place que les vraies données (feuille, colonne, cellules) pour pouvoir établir une macro
Il ne te restera plus après qu'à faire un copier-coller de la macro dans ton vrai fichier
Il ne te restera plus après qu'à faire un copier-coller de la macro dans ton vrai fichier
agathe182
Messages postés
49
Date d'inscription
mercredi 24 août 2016
Statut
Membre
Dernière intervention
26 septembre 2016
24 août 2016 à 16:32
24 août 2016 à 16:32
Ca m'a pris plus de temps pour changer les données que j'aurais cru :)
Voilà le fichier http://www.cjoint.com/c/FHyoEGwSYOM et merci pour ton aide.
Voilà le fichier http://www.cjoint.com/c/FHyoEGwSYOM et merci pour ton aide.
agathe182
Messages postés
49
Date d'inscription
mercredi 24 août 2016
Statut
Membre
Dernière intervention
26 septembre 2016
24 août 2016 à 16:34
24 août 2016 à 16:34
C'est pour la colonne E que je voudrais faire la différence parce que la suite de code n'est pas très claire...
via55
Messages postés
14495
Date d'inscription
mercredi 16 janvier 2013
Statut
Membre
Dernière intervention
7 novembre 2024
2 734
24 août 2016 à 17:20
24 août 2016 à 17:20
Re
Voilà
http://www.cjoint.com/c/FHypo5q6zW6
Le fichier comporte 2 macros, l'une pour mettre la colonne E en couleur une série sur 2, l'autre pour annuler la mise en couleur
Pour lancer l'une ou l'autre aller dans le ruban à Developpeur - Macros , selectionner la macro puis Executer
Faire ALT+F11 pour ouvrir l'éditeur VBA et voir les macros
Pour mettre les macros dans ton fichier :
Ouvrir ton fichier en même temps que ce fichier exemple
Dans ton fichier ALT+F11 pour ouvrir l'éditeur VBA puis Insertion - Module
Aller dans l'éditeur VBA du fichier exemple, copier les lignes des macros et les coller dans la page blanche qui s'est ouverte dans ton fichier quand tu as crée le module et fermer l'éditeur VBA
Cdlmnt
Via
Voilà
http://www.cjoint.com/c/FHypo5q6zW6
Le fichier comporte 2 macros, l'une pour mettre la colonne E en couleur une série sur 2, l'autre pour annuler la mise en couleur
Pour lancer l'une ou l'autre aller dans le ruban à Developpeur - Macros , selectionner la macro puis Executer
Faire ALT+F11 pour ouvrir l'éditeur VBA et voir les macros
Pour mettre les macros dans ton fichier :
Ouvrir ton fichier en même temps que ce fichier exemple
Dans ton fichier ALT+F11 pour ouvrir l'éditeur VBA puis Insertion - Module
Aller dans l'éditeur VBA du fichier exemple, copier les lignes des macros et les coller dans la page blanche qui s'est ouverte dans ton fichier quand tu as crée le module et fermer l'éditeur VBA
Cdlmnt
Via
agathe182
Messages postés
49
Date d'inscription
mercredi 24 août 2016
Statut
Membre
Dernière intervention
26 septembre 2016
24 août 2016 à 17:31
24 août 2016 à 17:31
Je te remercie énormément, je teste ça demain matin :)
agathe182
Messages postés
49
Date d'inscription
mercredi 24 août 2016
Statut
Membre
Dernière intervention
26 septembre 2016
2 sept. 2016 à 11:43
2 sept. 2016 à 11:43
Au final je n'ai jamais réussi à exploiter le document que tu m'as envoyé VIA.
J'ai ça :
Mais le changement de couleur ne se fait pas.. Est-ce parce que je n'ai pas défini suffisemment de variables ?
J'ai ça :
Public Sub ChangerCoulSKU()
Dim pl As Range 'déclare la variable pl
Dim i As Integer
Dim Derniereligne As Integer
Derniereligne = Range("I100000").End(xlUp).Row
For i = 3 To Derniereligne
Worksheets("Launch Tracker").Activate
'définit la variable pl(ici toutes les cellules éditées de la colonne A)
Set pl = Worksheets("Launch Tracker").Range("I3:I" & Range("I65536").End(xlUp).Row)
coul = 3 ' mais ce n'est qu'une histoire de goût
If Cells(i, "I").Text = Cells(i + 1, "I").Text Then 'condition : si les cellules sont identiques
Cells(i, "I").Interior.ColorIndex = coul 'colorie la cellule cel1
Cells(i + 1, "I").Interior.ColorIndex = coul 'colorie la cellule cel2 avec la même couleur
End If 'fin de l a condition
Next i 'prochaine cellule de la boucle 2
coul = coul + 1 'change de couleur
End Sub
Mais le changement de couleur ne se fait pas.. Est-ce parce que je n'ai pas défini suffisemment de variables ?
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
via55
Messages postés
14495
Date d'inscription
mercredi 16 janvier 2013
Statut
Membre
Dernière intervention
7 novembre 2024
2 734
2 sept. 2016 à 14:17
2 sept. 2016 à 14:17
Bonjour Agathe
1) Tu actives une feuille mais tu ne fais pas forcément effectuer les actions sur cette feuille
2) la variable pl ne sert à rien
3) le changement de couleur doit se faire dans la boucle et pas après
Pour faire plus simple si tu veux changer de couleur à chaque ligne différente de la précédente la macro serait plutôt quelque chose comme ça :
Cdlmnt
Via
1) Tu actives une feuille mais tu ne fais pas forcément effectuer les actions sur cette feuille
2) la variable pl ne sert à rien
3) le changement de couleur doit se faire dans la boucle et pas après
Pour faire plus simple si tu veux changer de couleur à chaque ligne différente de la précédente la macro serait plutôt quelque chose comme ça :
Public Sub ChangerCoulSKU() Dim pl As Range 'déclare la variable pl Dim i As Integer Dim Derniereligne As Integer coul = 2 'pour que la 1ere couleur utilisée soit en fait la 3 With Worksheets("Launch Tracker") 'avec cette feuille faire les actions qui suivent et qui sont précédées d'un . .Activate Derniereligne = .Range("I10000").End(xlUp).Row ' dernire ligne remplie For i = 3 To Derniereligne ' boucle de la ligne 3 à la dernière 'condition : si la cellule n'est pas identique à la précédente on change de couleur If .Cells(i - 1, "I").Text <> .Cells(i, "I").Text Then coul = coul + 1 'puis on colorie la cellule .Cells(i, "I").Interior.ColorIndex = coul Next i 'prochaine cellule de la boucle End With ' fin du With End Sub
Cdlmnt
Via
agathe182
Messages postés
49
Date d'inscription
mercredi 24 août 2016
Statut
Membre
Dernière intervention
26 septembre 2016
15 sept. 2016 à 09:37
15 sept. 2016 à 09:37
Bonjour Via,
Je viens de me rendre compte que je ne t'avais jamais répondu.
Je te remercie la solution fonctionne parfaitement.
Cdlt,
Agathe
Je viens de me rendre compte que je ne t'avais jamais répondu.
Je te remercie la solution fonctionne parfaitement.
Cdlt,
Agathe
24 août 2016 à 15:15
Justement mon fichier est amené à changer toutes les semaines et je souhaiterai avoir le moins de manip possibles pour éviter les manipulations.
Y-a-t-il moyen de faire autrement ?