Mise en surbrillance de doublons sur plusieurs onglets
Spritlibre
Messages postés
1
Statut
Membre
-
Boisgontierjacques Messages postés 177 Statut Membre -
Boisgontierjacques Messages postés 177 Statut Membre -
Bonjour,
J'ai un fichier Excel avec 12 onglets, un par mois.
Tous les onglets contiennent les mêmes colonnes dans le même ordre, mais pas le même nombre de lignes. Ce fichier est rempli au fur et à mesure par des utilisateurs.
Je souhaiterai que, lorsqu'un utilisateur entre une valeur dans la colonne E, Excel recherche si cette valeur est déjà renseignée dans toutes les colonnes E de tous les onglets du fichier, et qu'il mette en surbrillance toutes les cellules en doublon dans tous les onglets.
J'arrive à le faire sur un seul onglet, mais pas sur l'ensemble des onglets en même temps.
La valeur en question est une mélange de lettres et de chiffres (exemples : PR123456, ou DE654321).
Je vous remercie d'avance pour votre aide.
Cordialement.
J'ai un fichier Excel avec 12 onglets, un par mois.
Tous les onglets contiennent les mêmes colonnes dans le même ordre, mais pas le même nombre de lignes. Ce fichier est rempli au fur et à mesure par des utilisateurs.
Je souhaiterai que, lorsqu'un utilisateur entre une valeur dans la colonne E, Excel recherche si cette valeur est déjà renseignée dans toutes les colonnes E de tous les onglets du fichier, et qu'il mette en surbrillance toutes les cellules en doublon dans tous les onglets.
J'arrive à le faire sur un seul onglet, mais pas sur l'ensemble des onglets en même temps.
La valeur en question est une mélange de lettres et de chiffres (exemples : PR123456, ou DE654321).
Je vous remercie d'avance pour votre aide.
Cordialement.
A voir également:
- Supprimer doublon sheets
- Supprimer rond bleu whatsapp - Guide
- Supprimer page word - Guide
- Supprimer pub youtube - Accueil - Streaming
- Fichier impossible à supprimer - Guide
- Doublon photo - Guide
2 réponses
Bonsoir
Il faut passer je pense par un code en VBA qui à chaque entrée (Worksheet_Change) boucle sur toutes les onglets et sur toutes les valeurs des colonnes E et colore les cellules de valeurs identiques
exemple de code à mettre dans le Worksheet de chaque feuille et qui colore en rouge les cellules de valeurs identiques
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column <> 5 Then Exit Sub ' sortie si pas colonne E
lg = Target.Row 'n° de la ligne d'entrée d'une donnée
For n = 1 To 12 'Boucle sur les 12 feuilles
If Sheets(n).Name <> ActiveSheet.Name Then 'si la feuille est autre que la feuille acive
dl = Sheets(n).Range("E" & Rows.Count).End(xlUp).Row 'n° dernière ligne non vide
For x = 1 To dl ' boucle de la 1ere à la dernière ligne non vide de la feuille n
'colore en rouge les cellules de la feuille n et de la feuille active si valeurs identiques
If Sheets(n).Range("E" & x).Value = ActiveSheet.Range("E" & lg).Value Then
Sheets(n).Range("E" & x).Interior.ColorIndex = 3
ActiveSheet.Range("E" & lg).Interior.ColorIndex = 3
End If
Next x
End If
Next n
End Sub
Cdlmnt
Il faut passer je pense par un code en VBA qui à chaque entrée (Worksheet_Change) boucle sur toutes les onglets et sur toutes les valeurs des colonnes E et colore les cellules de valeurs identiques
exemple de code à mettre dans le Worksheet de chaque feuille et qui colore en rouge les cellules de valeurs identiques
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column <> 5 Then Exit Sub ' sortie si pas colonne E
lg = Target.Row 'n° de la ligne d'entrée d'une donnée
For n = 1 To 12 'Boucle sur les 12 feuilles
If Sheets(n).Name <> ActiveSheet.Name Then 'si la feuille est autre que la feuille acive
dl = Sheets(n).Range("E" & Rows.Count).End(xlUp).Row 'n° dernière ligne non vide
For x = 1 To dl ' boucle de la 1ere à la dernière ligne non vide de la feuille n
'colore en rouge les cellules de la feuille n et de la feuille active si valeurs identiques
If Sheets(n).Range("E" & x).Value = ActiveSheet.Range("E" & lg).Value Then
Sheets(n).Range("E" & x).Interior.ColorIndex = 3
ActiveSheet.Range("E" & lg).Interior.ColorIndex = 3
End If
Next x
End If
Next n
End Sub
Cdlmnt