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 18354 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 1 janvier 2025 - 3 oct. 2014 à 09:30
Mike-31 Messages postés 18354 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 1 janvier 2025 - 3 oct. 2014 à 09:30
A voir également:
- Formule pour mettre doublons sur une ligne
- Formule excel pour additionner plusieurs cellules - Guide
- Formule si et - Guide
- Formule pour calculer une moyenne sur excel - Guide
- Excel retour à la ligne dans une formule - Guide
- Partager photos en ligne - Guide
7 réponses
Mike-31
Messages postés
18354
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
1 janvier 2025
5 110
29 sept. 2014 à 09:30
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
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
Mike-31
Messages postés
18354
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
1 janvier 2025
5 110
Modifié par Mike-31 le 29/09/2014 à 15:35
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.
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.
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
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
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
Mike-31
Messages postés
18354
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
1 janvier 2025
5 110
30 sept. 2014 à 08:37
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))
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))
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
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
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
Mike-31
Messages postés
18354
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
1 janvier 2025
5 110
30 sept. 2014 à 10:46
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
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
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
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
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
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Mike-31
Messages postés
18354
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
1 janvier 2025
5 110
2 oct. 2014 à 09:50
2 oct. 2014 à 09:50
Re,
alors pour cela il n'y a que le VBA si tu veux te lancer
alors pour cela il n'y a que le VBA si tu veux te lancer
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
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
c'est bien ce que je craignais!!! je ne sais pas en quoi consiste exactement le VBA !
merci pour ton aide
très cordialement
Mike-31
Messages postés
18354
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
1 janvier 2025
5 110
2 oct. 2014 à 22:52
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
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
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
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
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
Mike-31
Messages postés
18354
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
1 janvier 2025
5 110
Modifié par Mike-31 le 3/10/2014 à 09:41
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.
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.
29 sept. 2014 à 14:46
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