Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Microsoft 365 Besoin d'aide pour rechercher doublon et mettre en forme

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 !

Moreno076

XLDnaute Impliqué
Bonsoir à tous.

J'aurais besoin d'aide pour me faire une macro qui recherche les doublons de la colonne G dans l'onglet X3 et les insérer dans l'onglet Synthese en dessous de chaque référence en doublon et en ne conservant que certaines informations. Le plus simple est de joindre le fichier origine 60 et ce que je veux 61.

Je pense que c'est assez complexe à faire.

Merci
 

Pièces jointes

C'est bon ca fonctionne presque. Il me manque juste pour la colonne N une macro recopiant la case de la colonne M si c'est marqué < DOUBLON >. Si ce n'est pas marqué doublon, mais qu'il y a une date, rajouter la date avec un jour de plus, enfin si il n y a rien de marqué, indiqué Pas de date précise. Je pense que c'est plus simple. Merci pour votre aide
 

Pièces jointes

Bonsoir Moreno,
Pourquoi une macro et pas une simple formule du genre en N2:
VB:
=SI(M2="";"Pas de date précise";SI(M2="< DOUBLON >";M2;M2+1))
Sinon en VBA, cela pourrait donner ça :
Code:
Sub DateReception()
    Taille = ThisWorkbook.Sheets("Synthèse").Range("A" & Cells.Rows.Count).End(xlUp).Row
    For i = 2 To Taille
        ValM = Range("M" & i)
        Select Case ValM
            Case ""
                Range("N" & i) = "Pas de date précise"
            Case "< DOUBLON >"
                Range("N" & i) = "< DOUBLON >"
            Case Else
                Range("N" & i) = ValM + 1
        End Select
    Next i
End Sub
Par contre je ne sais pas où vous voulez le placer. A vous de faire le Call.😉
 
Merci c'est impeccable, il me reste juste encore la colonne M la formule est =SI(A2="< DOUBLON >";"< DOUBLON >";"") C'est plus simple je trouve d'avoir des macros comme ça je n'ai aucune formule qui traine nulle part.
 
Si c'est un choix délibéré, rien à redire.🙂
Pour la colonne M, on peut l'intégrer dans la même macro:
VB:
Sub DateReception()
    Taille = ThisWorkbook.Sheets("Synthèse").Range("A" & Cells.Rows.Count).End(xlUp).Row
    For i = 2 To Taille
        If Range("A" & i) = "< DOUBLON >" Then Range("M" & i) = "< DOUBLON >"
        ValM = Range("M" & i)
        Select Case ValM
            Case ""
                Range("N" & i) = "Pas de date précise"
            Case "< DOUBLON >"
                Range("N" & i) = "< DOUBLON >"
            Case Else
                Range("N" & i) = ValM + 1
        End Select
    Next i
End Sub
 
Impeccable c
Impeccable c est modifié
 
Bonjour,

Ah non, je ne suis pas d'accord. On ne jette jamais l'éponge. 🙂

En PJ, il suffit de mettre dans la feuille Synthèse :
VB:
Sub Worksheet_Change(ByVal Target As Range)
    If Target.Count > 1 Then Exit Sub
    If Target.Column = 13 Then
        DateReception
    End If
End Sub
et à chaque fois que vous changerez une valeur dans la colonne M la colonne N se remettra à jour.🙂

... mais vous pouvez le faire aussi en formules !
 

Pièces jointes

Fidèle au poste ou post lol Je viens de le rajouter mais ca me met un message d erreur peut etre du au changement depuis le dernier fichier
 

Pièces jointes

Je ne suis pas parvenu à reproduire le défaut sauf si le fichier est vide.
Dans ce cas Taille=1 puis on fait for i=2 to 1 ! Dans ce cas il faut mettre une sécurité si Taille<2.

VB:
Sub DateReception()
    Taille = ThisWorkbook.Sheets("Synthèse").Range("A" & Cells.Rows.Count).End(xlUp).Row
    If Taille < 2 Then Exit Sub
    For i = 2 To Taille
        If Range("A" & i) = "< DOUBLON >" Then Range("M" & i) = "< DOUBLON >"
        ValM = Range("M" & i)
        Select Case ValM
            Case ""
                Range("N" & i) = "Pas de date précise"
            Case "< DOUBLON >"
                Range("N" & i) = "< DOUBLON >"
            Case Else
                Range("N" & i) = ValM + 1
        End Select
    Next i
End Sub

Etait ce dans ce cas que vous aviez le problème ?
 

Dans ce cas j'ai toujours l erreur
 

Pièces jointes

Désolé, ça marche chez moi.
Ou alors je ne fais pas la bonne manip.
Fichier vierge, je rentre Envoyée en colonne A, sur même ligne en M je fais Ctrl . pour entrer la date et la macro met en N la date de demain.

... si ça continue il va falloir vous résoudre à mettre des formules.

Pouvez vous me dire exactement ce que vous faites avant que la macro plante ? et sur quelle ligne ?
Lors du plantage appuyez sur Débogage, la ligne incriminée va se mettre en jaune.
 

A priori c'est au moment de Call Réception ca plante j'ai effectué les macros d'avant une par une. Je ne peux pas voir le message d erreur car ca plante mais si je fais une par une
 
- 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

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…