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 !

Mouchty85

XLDnaute Occasionnel
bonjour a tous,
je réalise un petit projet sur excel avec VBA.
je me trouve confonté a un problème.

Je souhaite pouvoir inséré une désignation a partir d'une combox.
je saisie la nouvelle désignation dans la combox puis j'appuie sur le bouton qui l'ajoute. si jamais la désignation que je vient de taper existe déjà, je souhaiteraiq'un msgbox apparaisse pour m'avaertir de ce doublon.

j'ai commencé une macro maiscéla ne fonctionn pas. voici mon code :

Sheets("Paramètre").Select

If VirementAutoDésignation.Value = "" Then
MsgBox " Cette opération n'est pas possible : Aucune désignation n'est écrite", vbExclamation, "ATTENTION : Valeur de la désignation non existante"
Else
For i = 1 To Range("PDésignation").Rows.Count
If VirementAutoDésignation.Value = Range("PDésignation").Cells(i, 1).Value Then ' C'EST ICI QUE LA GESTION DES DOUBLON EST CENSER ETRE REALISE MAIS LA CONDITION N'EST PAS LOGIQUE
MsgBox "La désignation :" & VirementAutoDésignation & " existe déja." & Chr(13) & "Merci de changé l'intitulé si vous souhaitez toujours ajouter cette désignation", vbCritical, "ATTENTION : Désignation déja existante"
Else
NL = Range("PDésignation").Rows.Count
Range("PDésignation").Cells(NL, 1).EntireRow.Select
Selection.Insert Shift:=xlDown
Range("PDésignation").Cells(NL - 1, 1).Value = VirementAutoDésignation.Value
MsgBox "La désignation : " & VirementAutoDésignation & " a été ajoutée", vbInformation, "Ajout Exécutée"
Exit Sub
End If
Next i
End If



Pourriez-vous m'apporter de l'aide. je bloque je vois pas trop comment faire.

Je vous remercie d'avance

Mouchty85
 
Re : Gestion de doublon

Bonjour Mouchty, bonjour le forum,

Je te propose cette solution :
Code:
Dim cel As Range
 
Sheets("Paramètre").Select
 
If VirementAutoDésignation.Value = "" Then
    MsgBox " Cette opération n'est pas possible : Aucune désignation n'est écrite", vbExclamation, "ATTENTION : Valeur de la désignation non existante"
Else
 
    For Each cel In Range("PDésignation") 'boucle sur toutes les cellules de la plage "Pdésignation"
 
        If UCase(VirementAutoDésignation.Value) = UCase(cel.Value) Then 'le Ucase permet d'accepter comme identiques les différences de casse
            MsgBox "La désignation :" & VirementAutoDésignation & " existe déja." & Chr(13) & "Merci de changé l'intitulé si vous souhaitez toujours ajouter cette désignation", vbCritical, "ATTENTION : Désignation déja existante"
            VirementAutoDésignation.SetFocus 'place le curseur dans la comboBox
            'sélectionne le texte de la ComboBox
            VirementAutoDésignation.SelStart = 0 'début de la sélection
            VirementAutoDésignation.SelLength = Len(VirementAutoDésignation.Value) 'longueur de la sélection
            Exit Sub 'sort de la procédure
        Else
            NL = Range("PDésignation").Rows.Count
            Range("PDésignation").Cells(NL, 1).EntireRow.Select
            Selection.Insert Shift:=xlDown
            Range("PDésignation").Cells(NL - 1, 1).Value = VirementAutoDésignation.Value
            MsgBox "La désignation : " & VirementAutoDésignation & " a été ajoutée", vbInformation, "Ajout Exécutée"
            Exit Sub
        End If
 
    Next cel
End If
 
Re : Gestion de doublon

Bonsoir Mouchty, bonsoir le forum,

J'ai testé le code et il fonctionne mais évidemment pas dans tes conditions puisque tu n'as pas fourni de fichier exemple. Je ne pourrais t'aider plus que si tu mets ton fichier (ou un fichier exemple basé sur ton fichier) en pièce jointe.
 
- 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
5
Affichages
531
Réponses
4
Affichages
399
Réponses
3
Affichages
767
  • Question Question
Microsoft 365 worksheet_change
Réponses
29
Affichages
801
Retour