Doublons sur plusieurs colonnes

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

SALAH

XLDnaute Occasionnel
Bonjour à tous et à toutes

Permettez moi de vous dire que c 'est la première fois que je viens sur ce forum, je l'ai beaucoup consulté mais n' ayant pas trouvé exactement ce que je recherche alors je me suis permis d' envoyer ce fichier afin qu' une ame charitable me dépanne de ce processus infernal.
En fait je gère une réception de pochettes clients et une commande faite par le SAV, il me faudrait soit par une formule ou VBA de supprimer les doublons, additionner les quantités et faire une comparaisons sur une autre feuille afin de distinguer les differences de quantité et les pochettes non livrées ou manquantes sur la commande

Vous en remerciant à l' avance
 

Pièces jointes

Re : Doublons sur plusieurs colonnes

Bonjour Excel lent, Bebere et BhBh et tout le forum

Excel lent ta formule marche bien mais une modification s' impose je te fais suivre le fichier joint tu comprendras mieux, essaye d aller jusqu' à la fin de la liste, je remercie BhBh qui a donne quelque chose de similaire

A bientot
 

Pièces jointes

Re : Doublons sur plusieurs colonnes

Salut SALAH et aux autres,

Pour ne pas avoir le message il suffit de mettre une condition :
si(B2;"";"";LIGNE()+1-EQUIV(B2;B:B;0))
Pour le deuxième problème, je ne suis pas assez doué en formule pour te donner une solution simple. par contre, je peux te proposer une solution VBA.
Après la saisie du nombre, Ctrl k lance une macro. Celle-ci peut durer quelque peu mais elle a l'avantage de remise à jour en cas de changement d'une cellule.
En attendant mieux ...
 

Pièces jointes

Dernière édition:
Re : Doublons sur plusieurs colonnes

Bonjour excel lent

Ton code marche très bien et c 'est exactement ce que je voulais, là je dois aller bosser.
Quand je reviendrais j'aurais une autre question à te poser concernant un code

Je vous remercie tous bebere,bhbh et le forum

abientot
 
Re : Doublons sur plusieurs colonnes

Bonsoir à tous

Bebere, Excel lent Bhbh

Bebere la correction est parfaite, je te joins un autre exemple pour complèter mon projet

Vous remerciant à vous tous pour l' aide que vous m' apportez

Abientot
 

Pièces jointes

Re : Doublons sur plusieurs colonnes

Bonjour Bebere, Excel lent, BhBh et tous les autres

Je reviens vers vous car j'ai encore deux questions à vous poser
j'aimerais que le nom de l' onglet porte le nom d' une cellule de la feuille?

Comment enregistrer un onglet dans un autre classeur fermé

Ne m' en voulez pas si le sujet à été traité

Merci et abientot
 
Re : Doublons sur plusieurs colonnes

bonjour Salah,le Forum
voir module 2,une version classique, 2 - Ecrire dans un classeur fermé
et en plus ' 1 - Obtenir des données d'un classeur fermé
commentaires dans code
testado.xls pour tes essais,à mettre dans même répertoire que salahv2.xls
bonne découverte
 

Pièces jointes

Re : Doublons sur plusieurs colonnes

Bonjour Bebere et le forum

Avant de revenir sur l' enregistrement dans les dossiers fermés, je vaudrais te remercier du temps que tu consacres à mon projet d' ailleurs que je n' ai pas compris grand chose, lequel je reviendrais plus tard pour que tu puisses m' expliquer au mieux.
j' aimerais juste revenir sur un code que tu m' as donné concernant l' onglet conclusion dans lequel manquent certains éléments,j'e l' ai un peu modifié mais manque de clarté je te joins le fichier

Abientot


Sub Conclusion()
Dim Plg As Variant, I As Long, L As Long, Client As String
Dim Conclusion As String, Debut As Integer, Longueur As Integer, Longueur1 As Integer
Dim Diff As Variant
Application.ScreenUpdating = False

With Sheets("Traitement")
Plg = .Range("E3:U" & .Range("E65536").End(xlUp).Row)
End With

For I = 1 To UBound(Plg, 1)
Conclusion = ""
Client = Plg(I, 1)
If Plg(I, 2) = "" Then
Conclusion = "Le client " & Client & " quantité : " & Plg(I, 3) & " Tournee : " & Plg(I, 5) & " Bac : " & Plg(I, 6) & " Casier : " & Plg(I, 7) & _
" n'avait pas été commandée mais est arrivée en Palette"
Debut = InStr(Conclusion, ":") + 2
Longueur = Len(Client)
Longueur1 = Len(CStr(Plg(I, 3)))
End If

If Plg(I, 3) = "" Then
Conclusion = "Le client " & Client & " quantité : " & Plg(I, 2) & " Tournee : " & Plg(I, 5) & " Bac : " & Plg(I, 6) & " Casier : " & Plg(I, 7) & _
" avait bien été commandée mais n' est pas arrivée en Palette"
Debut = InStr(Conclusion, ":") + 2
Longueur = Len(Client)
Longueur1 = Len(CStr(Plg(I, 2)))
End If
If Plg(I, 2) <> "" And Plg(I, 3) <> "" Then
If Plg(I, 2) <> "" And Plg(I, 3) <> "" Then
Diff = Plg(I, 2) - Plg(I, 3)
If Diff > 0 Then
Conclusion = "Le client " & Client & " a une différence de : " & Diff & " Tournee : " & Plg(I, 5) & " Bac : " & Plg(I, 6) & " Casier : " & Plg(I, 7) & _
" la quantité livrée en palette n' est pas complete"
Debut = InStr(Conclusion, ":") + 2
Longueur = Len(Client)
Longueur1 = Len(CStr(Diff))
End If
End If
End If
If Conclusion <> "" Then
With Sheets("Conclusion")
L = .Range("A65536").End(xlUp).Row + 1
If L > 2 Then L = L + 1
.Range("A" & L) = Conclusion
.Range("A" & L).Characters(11, Longueur).Font.ColorIndex = 3
.Range("A" & L).Characters(Debut, Longueur1).Font.ColorIndex = 3
.Columns(1).AutoFit
End With
End If
Next I

Application.ScreenUpdating = True

End Sub
 

Pièces jointes

- 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
Retour