Bonjour j'ai un classeur avec 2 feuilles de format identiques avec des infos qui peuvent être différentes
je voudrais surbriller sur la deuxième feuille les cellules différentes de la première feuille
par exemple dans le classeur ci-joint la cellule C2 de la feuille URE doit être surbriller car la valeur est différentes de la cellule C2 de la feuille UOF
mon fichier a quasiment plus de 200 lignes
ce que j'ai envoyé n'est qu'un échantillon
comment puis-je intégrer ton bouton dans mon fichier final vu que je ne maitrise pas du tout VBA
Tu dois afficher l'onglet "Développeur" dans le ruban : clic droit, Personnaliser le ruban, Ajouter.
Tu affiches cet onglet, tu cliques sur "Insérer" dans le module "Contrôles" et tu choisis "contrôles ActiveX", "Bouton de commande" qui est le premier dans la liste. Tu traces le bouton sur la feuille URE. Pour changer le titre du bouton, clic droit dessus, Propriétés, et dans la colonne à droite de Caption, tu entres le nom que tu veux lui donner. Ensuite, tu double-cliques sur le bouton, l'éditeur VBA s'affiche. Dans la fenêtre principale, tu peux lire ceci :
Code:
Private Sub CommandButton1_Click()
End Sub
Entre ces deux lignes, tu recopies le texte de la macro ci-dessous pour obtenir :
Code:
Private Sub CommandButton1_Click()
For Each cel In Sheets("URE").Range("2:65000").SpecialCells(xlCellTypeConstants)
If Not cel.Value = Sheets("UOF").Cells(cel.Row, cel.Column) Then
cel.Interior.ColorIndex = 6
Else
cel.Interior.ColorIndex = xlNone
End If
Next
End Sub
Pour finir, tu quittes le mode Création en cliquant sur le bouton du même nom dans le module Contrôles du ruban.
Si tu as bien suivi toutes ces étapes, un simple clic sur le bouton lance la mise à jour de ta feuille.
Espérant avoir été explicite, et t'avoir donné le goût des macros.
Ca marche nickel
Mais pour mon info tu connais le langage VBA ou tu as utiliser l'assistant excel(visiblement excel sait le faire) si oui quelle est la traduction de ta macro
en tout cas merci de ta collaboration
Je commence à bien connaître VBA pour avoir déjà réalisé de nombreuses macros dans tous les domaines. Mais il est vrai, que j'ai vraiment commencé en utilisant l'enregistreur de macros, et en consultant de nombreux ouvrages consacrés à ce sujet. Mes connaissances "ancestrales" en Basic m'ont bien aidé.
Je vais ici tenter d'expliquer le fonctionnement de la procédure que je t'ai envoyée :
Code:
Private Sub CommandButton1_Click()
' Cette boucle analyse toutes les cellules qui contiennent des données (SpecialCells(xlCellTypeConstants))
' dans les lignes 2 à 65000 dans la feuille "URE"
' Affecte la cellule analysée à la variable "cel"
For Each cel In Sheets("URE").Range("2:65000").SpecialCells(xlCellTypeConstants)
' Compare la valeur de la cellule analysée (cel) à la cellule correspondante (cel.Row = ligne et cel.Column = colonne de cette cellule)
' sur la feuille "UOF"
If Not cel.Value = Sheets("UOF").Cells(cel.Row, cel.Column) Then
' Si les deux cellules sont différentes (not cel.value=) alors on met le fond de la cellule de la feuille "UOF" à jaune
cel.Interior.ColorIndex = 6
Else
' Sinon on efface le fond de la cellule de la feuille "UOF"
cel.Interior.ColorIndex = xlNone
End If
Next
End Sub