[Excel 2007] Mise en forme cond.. et liste
Résolu/Fermé
A voir également:
- [Excel 2007] Mise en forme cond.. et liste
- Mise en forme conditionnelle excel - Guide
- Liste déroulante excel - Guide
- Mise en forme tableau word - Guide
- Si et excel - Guide
- Excel liste déroulante en cascade - Guide
12 réponses
Heremion
Messages postés
538
Date d'inscription
vendredi 20 mai 2011
Statut
Membre
Dernière intervention
1 juin 2022
102
15 sept. 2011 à 08:39
15 sept. 2011 à 08:39
Bonjour Kenshin,
Voici un fichier que je peux te proposer.
La colonne de saisie est la A, la colonne de référence est la B
https://www.cjoint.com/?AIpiNwhTHNj
Voici un fichier que je peux te proposer.
La colonne de saisie est la A, la colonne de référence est la B
https://www.cjoint.com/?AIpiNwhTHNj
Merci pour le fichier, par contre j'ai un petit problème. Je n'y vois ni formule, ni mise en forme conditionnelle.
De plus, quand je saisie un prénom de la référence ou non, il met toujours en vert.
Comment as-tu procéder pour mettre la "formule"?
Merci :)
De plus, quand je saisie un prénom de la référence ou non, il met toujours en vert.
Comment as-tu procéder pour mettre la "formule"?
Merci :)
Heremion
Messages postés
538
Date d'inscription
vendredi 20 mai 2011
Statut
Membre
Dernière intervention
1 juin 2022
102
15 sept. 2011 à 10:56
15 sept. 2011 à 10:56
En fait, le code est dans une macro. Dans Affichage/Macro ou bien Developpeur/Macros, tu peux voir le code qui est exécuté.
Pour préciser, le code qui est exécuté est le suivant :
Pour préciser, le code qui est exécuté est le suivant :
Private Sub Worksheet_Change(ByVal Target As Range) Dim i, imax Dim j, jmax Dim trouve If Target.Column = 1 Then imax = Range("A65536").End(xlUp).Row jmax = Range("B65536").End(xlUp).Row For i = 2 To imax trouve = False For j = 2 To jmax If Cells(i, 1).Value = Cells(j, 2).Value Then trouve = True End If Next j If trouve Then Cells(i, 1).Interior.ColorIndex = 4 Else Cells(i, 1).Interior.ColorIndex = 3 End If Next i End If End Sub
ah d'accord, par contre je ne vois pas la Macro dans la liste.
Sinon, comment puis-je la modifier pour qu'elle fasse appel à la colonne 2 de la feuille 2 dans Excel?
Sinon une dernière chose, éxiste-t-il une alternative avec des formules?
Merci.
Sinon, comment puis-je la modifier pour qu'elle fasse appel à la colonne 2 de la feuille 2 dans Excel?
Sinon une dernière chose, éxiste-t-il une alternative avec des formules?
Merci.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Heremion
Messages postés
538
Date d'inscription
vendredi 20 mai 2011
Statut
Membre
Dernière intervention
1 juin 2022
102
15 sept. 2011 à 11:13
15 sept. 2011 à 11:13
Pour voir la macro,
Fichier > Options > Personnaliser le ruban > Onglets Principaux > Sélectionner l'onglet Développeur > Valider
Dans l'onglet Développeur > Visual Basic
Après d'un point de vue formule, je n'ai pas encore trouvé le moyen de faire la même chose :/
Fichier > Options > Personnaliser le ruban > Onglets Principaux > Sélectionner l'onglet Développeur > Valider
Dans l'onglet Développeur > Visual Basic
Après d'un point de vue formule, je n'ai pas encore trouvé le moyen de faire la même chose :/
ok merci, je la vois ce coup-ci :)
Et donc maintenant, comment je pourrai la modifier pour qu'elle fasse appel à la colonne B de la feuille 2?
Merci :)
Et donc maintenant, comment je pourrai la modifier pour qu'elle fasse appel à la colonne B de la feuille 2?
Merci :)
Heremion
Messages postés
538
Date d'inscription
vendredi 20 mai 2011
Statut
Membre
Dernière intervention
1 juin 2022
102
15 sept. 2011 à 11:54
15 sept. 2011 à 11:54
Si tu souhaites travailler avec plusieurs feuille, il te faut préciser le "worksheet" depuis lequel tu récupères la donnée.
Ainsi :
- Worksheets(1) est ta première feuille
- Worksheets(2) est ta deuxième feuille
- Worksheets(2).Range("B2") est la cellule B2 de ta deuxième feuille etc...
Attention! Si tu ne précises pas la feuille dont tu prends le Range(), ton code plantera.
Ainsi :
- Worksheets(1) est ta première feuille
- Worksheets(2) est ta deuxième feuille
- Worksheets(2).Range("B2") est la cellule B2 de ta deuxième feuille etc...
Attention! Si tu ne précises pas la feuille dont tu prends le Range(), ton code plantera.
Heremion
Messages postés
538
Date d'inscription
vendredi 20 mai 2011
Statut
Membre
Dernière intervention
1 juin 2022
102
15 sept. 2011 à 11:55
15 sept. 2011 à 11:55
En gros
Private Sub Worksheet_Change(ByVal Target As Range) Dim i, imax Dim j, jmax Dim trouve If Target.Column = 1 Then imax = Worksheets(1).Range("A65536").End(xlUp).Row jmax = Worksheets(2).Range("B65536").End(xlUp).Row For i = 2 To imax trouve = False For j = 2 To jmax If Worksheets(1).Cells(i, 1).Value = Worksheets(2).Cells(j, 2).Value Then trouve = True End If Next j If trouve Then Worksheets(1).Cells(i, 1).Interior.ColorIndex = 4 Else Worksheets(1).Cells(i, 1).Interior.ColorIndex = 3 End If Next i End If End Sub
OK merci beaucoup !
Par contre j'aurais une dernière question et pas des moindres (désolé je suis nul en macro ^^)
Comment je l'active ou je la rajoute dans l'onglet macro afin de la faire fonctionner?
Merci encore une fois :)
Par contre j'aurais une dernière question et pas des moindres (désolé je suis nul en macro ^^)
Comment je l'active ou je la rajoute dans l'onglet macro afin de la faire fonctionner?
Merci encore une fois :)
Heremion
Messages postés
538
Date d'inscription
vendredi 20 mai 2011
Statut
Membre
Dernière intervention
1 juin 2022
102
15 sept. 2011 à 12:16
15 sept. 2011 à 12:16
Dans Fichier > Options > Personnalisation du ruban > Onglets Principaux > Sélection de l'onglet Développeur
Une fois validé, l'onglet est apparu. Tu vas sur Visual Basic. Une nouvelle fenêtre va s'afficher. Double-clic sur la feuille 1 dans l'arborescence, cela va ouvrir une feuille.
Normalement, le code que j'y ai inscrit apparaitra.
Une fois validé, l'onglet est apparu. Tu vas sur Visual Basic. Une nouvelle fenêtre va s'afficher. Double-clic sur la feuille 1 dans l'arborescence, cela va ouvrir une feuille.
Normalement, le code que j'y ai inscrit apparaitra.
michel_m
Messages postés
16603
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2023
3 311
15 sept. 2011 à 12:17
15 sept. 2011 à 12:17
bonjour
Solution sans macro avec des Mises en forme conditionnelles
https://www.cjoint.com/?3IpmmVZ0l0I
et si on tient à du VBA, pas besoin de boucles!!!
a moins que je n'ai pa compris la demande
Solution sans macro avec des Mises en forme conditionnelles
https://www.cjoint.com/?3IpmmVZ0l0I
et si on tient à du VBA, pas besoin de boucles!!!
a moins que je n'ai pa compris la demande