XL 2016 macro excel

  • Initiateur de la discussion Initiateur de la discussion roro44
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

roro44

XLDnaute Nouveau
bonjour, depuis plusieurs jours j'essaye de modifier une macro qui fonctionne bien mais qui n'agit que sur une seul colonne donc mon souhait serait que:
lorsqu'une donnée est indiquée sur la feuille 1/colonne A, elle soit mise en couleur sur la feuille2 (colonne A,B et éventuellement sur d autres colonnes par la suite)
je vous remercie par avance de votre soutien .

régis.
 

Pièces jointes

Bonjour,

Essaye
VB:
Sub Compare2()
  Dim r As Range
  Dim s  As Range
  For Each r In Feuil2.Range("a2:a" & Feuil2.Range("a1").CurrentRegion.Rows.Count)
    For Each s In Feuil1.Range("a2:a" & Feuil1.Range("a1").CurrentRegion.Rows.Count)
      If r.Value = s.Value Then s.Range("A1:B1").Interior.ColorIndex = 6
    Next s
  Next r
End Sub
Avec ce code, 2 colonnes sont sulignées
Si tu veux 3 colonnes, remplace
Code:
If r.Value = s.Value Then s.Range("A1:B1").Interior.ColorIndex = 6
par
Code:
If r.Value = s.Value Then s.Range("A1:C1").Interior.ColorIndex = 6
etc...

Comme tu utilises la fonctionnalité "Tableau", tu peux avantageusement remplacer
Code:
For Each r In Feuil2.Range("a2:a" & Feuil2.Range("a1").CurrentRegion.Rows.Count)
par
Code:
For Each r in Feuil2.ListObjects("Tableau1").DataBodyRange.Columns(1)
 
Quelques confusions entre Feuil1/Feuil2 et r/s
Le bon code :
VB:
Sub Compare2()
  Dim r As Range
  Dim s  As Range
  For Each r In Feuil2.Range("a2:a" & Feuil2.Range("a1").CurrentRegion.Rows.Count)
    For Each s In Feuil1.Range("a2:a" & Feuil1.Range("a1").CurrentRegion.Rows.Count)
      If r.Value = s.Value Then r.Range("A1:B1").Interior.ColorIndex = 6
    Next s
  Next r
End Sub
 
rebonjour Iznogood1,
bon, ca ne fonctionne pas vraiment. j ai remplacé "
For Each r In Feuil2.Range("a2:a" & Feuil2.Range("a1").CurrentRegion.Rows.Count)" par "
For Each r in Feuil2.ListObjects("Tableau1").DataBodyRange.Columns(1)" et j ai l'erreur: "If r.Value = s.Value" qui se met en jaune.
mes données (prochaines) seront en tableaux et avant de commencer je préfère faire des test.
as tu d'autres pistes?
merci d avance.
 

Pièces jointes

- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
3
Affichages
190
  • Question Question
Microsoft 365 macro TCD
Réponses
4
Affichages
241
Réponses
8
Affichages
240
Retour