Formule pour mettre doublons sur une ligne

Résolu/Fermé
hubstleu Messages postés 15 Date d'inscription mercredi 10 septembre 2014 Statut Membre Dernière intervention 3 octobre 2014 - 29 sept. 2014 à 08:50
Mike-31 Messages postés 18313 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 21 avril 2024 - 3 oct. 2014 à 09:30
Bonjour,

encore une demande de formule pour gagner dutemps!

dans le tableau (lien ci dessous), ce trouve des ref en double(avec info dont j'ai besoin), est il possible de garder les infos
de ces lignes en double ou triple et ne conserver q'une lignes comportant toutes les infos de cette ref

https://www.cjoint.com/?0IDiMtBVIrt

explication :le logiciel de gestion extrait les refs, le libelle,les ventes puis je demande de rajouter le stock (la il me redonne le stock complet)je demande les cdes ensuite le previsionnel et apres, j' exporte sur excel avec tous ces doubles

merci d'avance
A voir également:

7 réponses

Mike-31 Messages postés 18313 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 21 avril 2024 5 073
29 sept. 2014 à 09:30
Bonjour,

Le rôle d'un forum est d'apporter une aide pour finaliser une formule, pas de la créer toute pièce pour gagner du temps et donc des royaltys sur notre dos, et lorsqu'on est dans la demande, on ne dit pas "donc j'ai besoin", nous ne somme que de simples bénévoles
0
hubstleu Messages postés 15 Date d'inscription mercredi 10 septembre 2014 Statut Membre Dernière intervention 3 octobre 2014
29 sept. 2014 à 14:46
bonjour mike-31,
je suis peiné que vous pensez que je veuille gagner des" royaltys" sur votre dos!!
je suis un autodidacte sur excel et ne sais pas transcrire des formules élaborées!
d'ou ma demande d'aide
de plus , je ne dis pas "donc j'ai besoin" mais dont j'ai besoin
vraiment désolé de vous avoir froissé
sincères salutations
0
Mike-31 Messages postés 18313 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 21 avril 2024 5 073
Modifié par Mike-31 le 29/09/2014 à 15:35
Re,

N'en parlons plus,

essaye de mettre surbrillance la colonne A:A en cliquant simplement sur l'en tête de la colonne A

mise en forme conditionnelle et appliquer cette règle, format choisir une couleur de remplissage exemple rouge.

toutes les valeurs rencontrées pour la deuxième fois seront en rouge, reste plus qu'a supprimer les lignes

=NB.SI(DECALER($A$1;0;0;LIGNE()-1);DECALER($A$1;LIGNE()-1;0))>0


ou on crée une colonne exemple en R avec une formule de détection

entièrement automatique avec un code VBA mais là c'est une autre histoire si tu n'as pas de connaissance dans ce langage
A+
Mike-31

Une période d'échec est un moment rêvé pour semer les graines du savoir.
0
hubstleu Messages postés 15 Date d'inscription mercredi 10 septembre 2014 Statut Membre Dernière intervention 3 octobre 2014
30 sept. 2014 à 06:05
bonjour Mike-31,
merci pour ta reponse, la methode que tu me donne est celle que j'emploi et apres je filtre pour suprimer les lignes.cela prends du temps surtout avec un autre fichier du meme type comprenant plus de mille lignes! la deuxime solution est surement mieux mais j'en suis incapable!
la formulefonctionne en partie mais comme il y a des triples...........
merci encore de m'avoir accorde une reponse

tres cordialement
0
Mike-31 Messages postés 18313 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 21 avril 2024 5 073
30 sept. 2014 à 08:37
Re,

alors en R2 colle cette formule

=SI(EQUIV(A:A;A:A;0)=LIGNE(); ""; "doublon")

ou encore cette formule si tu as des cellule vide cela évitera d'avoir l'affichage du code erreur #N/A
=SIERREUR(SI(EQUIV(A:A;A:A;0)=LIGNE(); ""; "doublon");"")

ou cette formule pour identifier la ligne en doublon
=SI(EQUIV(A:A;A:A;0)=LIGNE();"";"doublon de la ligne "&EQUIV(A:A;A:A;0))
0
hubstleu Messages postés 15 Date d'inscription mercredi 10 septembre 2014 Statut Membre Dernière intervention 3 octobre 2014
30 sept. 2014 à 10:11
re re mike-31

les formules sont top! mais voila le soucis:dans cet exemple extrait du fichier,doublon en triple, je ne peux suprimer la ligne 2 car elle contient des infos dont je me sers(cde54)



sap libelle vente totale stock CDE 54- CDE 55- CDE 57- PREVISIONNEL
559432 11 R 22.5.... 14 6 0 0 10 4
559432 11 R 22.5 14 6 6 0 0 0 doublon de la ligne 10
559432 11 R 22.5 14 6 0 0 0 0 doublon de la ligne 10

il faut que je reporte l' info cde54 dans la ligne 1cde54 et effacer les lignes 2et 3 pour ne concerver q'une ligne comportant toutes les inofs. le probleme se pose a chaque ref en double triple ou quadruple
tes formules ont l'avantage de faire ressortir les lignes et c'est deja beaucoup
merci de me consacrer de ton temps
tres cordialement
0
Mike-31 Messages postés 18313 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 21 avril 2024 5 073
30 sept. 2014 à 10:46
Re,

Dans le fichier modèle que tu as mis en ligne je ne retrouve pas en ligne 10
559432 11 R 22.5.... 14 6 0 0 10 4

pour comprendre tes attentes
sap libelle vente totale stock CDE 54- CDE 55- CDE 57- PREVISIONNEL
559432 11 R 22.5.... 14 6 0 0 10 4
559432 11 R 22.5 14 6 6 0 0 0 doublon de la ligne 10
559432 11 R 22.5 14 6 0 0 0 0 doublon de la ligne 10

remet ton fichier sur un post pour que nous parlions le même langage voir ce qui est possible de faire
0
hubstleu Messages postés 15 Date d'inscription mercredi 10 septembre 2014 Statut Membre Dernière intervention 3 octobre 2014
1 oct. 2014 à 06:15
bojour mike-31
surement par ce que je l'ai trié. cidessous le lien pour le fichier avec anotations

https://www.cjoint.com/?DJbgsczS61c

a te lire
tres cordialement
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Mike-31 Messages postés 18313 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 21 avril 2024 5 073
2 oct. 2014 à 09:50
Re,

alors pour cela il n'y a que le VBA si tu veux te lancer
0
hubstleu Messages postés 15 Date d'inscription mercredi 10 septembre 2014 Statut Membre Dernière intervention 3 octobre 2014
2 oct. 2014 à 14:29
bonjour mike,

c'est bien ce que je craignais!!! je ne sais pas en quoi consiste exactement le VBA !
merci pour ton aide
très cordialement
0
Mike-31 Messages postés 18313 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 21 avril 2024 5 073
2 oct. 2014 à 22:52
Re,

Pour te montrer ce que cela donne en VBA, télécharge le fichier

j'ai copié la Feuil1 en Feuil2 et créé un bouton macro,

clic sur le bouton et regarde le résultat, pour retester le code soit tu recopies la feuille1 en feuille 2 soit tu fermes sans enregistrer et tu reouvres le fichier
si cela te convient on en reparle

https://www.cjoint.com/?DJcw2JjAjDt
0
hubstleu Messages postés 15 Date d'inscription mercredi 10 septembre 2014 Statut Membre Dernière intervention 3 octobre 2014
3 oct. 2014 à 06:37
bonjour mike,

alors là............, respect total !!
c'est exactement ce qui convient.
est ce que je peux prendre ceci comme modele a chaque nouvelle extraction (je la fait tous les mois pour les cde sur 3 gammes vl vu 4x4 /mot/ pl)?
OU faut il refaire une feuille pour chaque gamme?
ou est valable que pour cette fois?
je te rermercie vivement pour tout le temps que tu m'accorde,je me sens "petit" face à un tel savoir en la matière !
tres cordialement
à te lire
0
Mike-31 Messages postés 18313 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 21 avril 2024 5 073
Modifié par Mike-31 le 3/10/2014 à 09:41
Re,

tu peux conserver le fichier modèle et copier tes données sur la feuille2 puis les exporter sur la feuille1 une fois la suppression des doublons, mais le transfert peut également être intégré au code. Le principal est que tu conserve la même structure.

pour t'expliquer le code, j'ai créé un bouton activex avec la barre contrôle et dans sa propriété placé ce code, que tu peux consulter avec un clic droit sur l'onglet Feuil2/Visualiser le code reproduit ci dessous

Private Sub CommandButton1_Click()
Application.ScreenUpdating = False
'------------------------incremente une série en colonne R
Dim i As Integer
For i = 2 To Range("A65536").End(xlUp).Row
If Range("A" & i) <> "" Then Range("R" & i) = Range("R" & i - 1) + 1
Next
'-------------------- filtre la base en fonction des référence colonne A
Range(Range("A65536").End(xlUp), [R2]).Sort Key1:=Range("A2"), Order1:=xlAscending, Header:=xlGuess
'-------------- traite les lignes en doublon
For i = [A65000].End(xlUp).Row To 2 Step -1
'--------------- copie les valeurs des colonnes M à Q qui ne figureraient pas sur la première ligne des doublons
If Cells(i, 1) = Cells(i - 1, 1) And Cells(i, 13) > Cells(i - 1, 13) Then Cells(i - 1, 13) = Cells(i, 13)
If Cells(i, 1) = Cells(i - 1, 1) And Cells(i, 14) > Cells(i - 1, 14) Then Cells(i - 1, 14) = Cells(i, 14)
If Cells(i, 1) = Cells(i - 1, 1) And Cells(i, 15) > Cells(i - 1, 15) Then Cells(i - 1, 15) = Cells(i, 15)
If Cells(i, 1) = Cells(i - 1, 1) And Cells(i, 16) > Cells(i - 1, 16) Then Cells(i - 1, 16) = Cells(i, 16)
If Cells(i, 1) = Cells(i - 1, 1) And Cells(i, 17) > Cells(i - 1, 17) Then Cells(i - 1, 17) = Cells(i, 17)
'---------- supprime les lignes en doublons
If Cells(i, 1) = Cells(i - 1, 1) Then Rows(i).Delete
Next i
'----------- rétabli l'ordre de départ de la base
Range(Range("A65536").End(xlUp), [R2]).Sort Key1:=Range("R2"), Order1:=xlAscending, Header:=xlGuess
'---------- supprime la série incrémentée colonne R
Columns("R:R").ClearContents
Application.ScreenUpdating = True
End Sub


A+
Mike-31

Une période d'échec est un moment rêvé pour semer les graines du savoir.
0