• Initiateur de la discussion Initiateur de la discussion gakiro
  • 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 !

G

gakiro

Guest
Bonjour,

Je suis face un problème: je voudrais faire apparaître en rouge un numéro de facture si celui-ci a déjà été saisi auparavant mais je cale sur la macro!

Je joins le tableau (il s'agit de la colonne F), je travaille en EXCEL 97

Merci d'avance pour toute aide
 
Re : Eviter les doublons

Salut !!! j'ai cette macro pour détecter les doublons et les colorier; quand on l'éxecute on obtient un inputbox dans lequel on définit la plage concernée. Mon problème est que ma plage de cellules est en fait 3 colonnes dans 3 feuilles différentes. Comment définir ces plages pour colorier les doublons sur les différents onglets ? voici le code :

Sub MarqueLesDoublons()
Dim Plage As Range, i&, Cell As Range, Rng As Range

On Error Resume Next
Set Plage = Application.InputBox("worksheets", Type:=8)
If IsEmpty(Plage) Then Exit Sub

Application.ScreenUpdating = False

For Each Cell In Plage
For i = 1 To Plage.Count
Set Rng = Cell.Offset(i)
If Rng <> "" And Rng = Cell Then
Cell.Interior.ColorIndex = 3
Rng.Interior.ColorIndex = 3
Exit For
End If
Next i
Next Cell

End Sub
 
Re : Eviter les doublons

Salut lik
Bonsoir le fil
Bonsoir le Forum

arff pour faire avancer la question

tu veux marquer les données qui apparaissent plus d'une fois sur l'ensemble des données des trois feuilles ,c'est ça ????

Merci d'avance
 
Re : Eviter les doublons

Bojour,

Voir PJ

Code:
Sub ColoriageDoublonsMultiFeuilles()
  For Each t In Array("champ1", "champ2", "champ3")
    Sheets(feuil(t)).Range(t).ClearComments
    For Each c In Range(t)
      For Each z In Array("champ1", "champ2", "champ3")
         For Each d In Range(z)
           If c.Value = d.Value And c.Address <> d.Address Then
             c.Interior.ColorIndex = 4
             f = feuil(t)
             temp = c.Address
             If Sheets(f).Range(temp).Comment Is Nothing Then
               Sheets(f).Range(temp).AddComment
               Sheets(f).Range(temp).Comment.Text Text:=feuil(z) & Chr(10) & d.Address
             Else
               Sheets(f).Range(temp).Comment.Text _
                 Text:=Sheets(f).Range(temp).Comment.Text & Chr(10) & _
                    feuil(z) & Chr(10) & d.Address
             End If
             Sheets(f).Range(temp).Comment.Shape.TextFrame.AutoSize = True
           End If
         Next d
      Next z
    Next c
  Next t
End Sub

Function feuil(nom)
 For Each n In ActiveWorkbook.Names
   If n.Name = nom Then
     a = Split(n, "!")
     feuil = Mid(a(0), 2)
   End If
 Next n
End Function


JB
Formation Excel VBA JB
 

Pièces jointes

Dernière édition:
- 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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
17
Affichages
805
Réponses
4
Affichages
311
Réponses
1
Affichages
374
Retour