Fusionner des lignes sous excels
Fermé
Yan
-
16 juin 2010 à 13:07
ratikuss Messages postés 2004 Date d'inscription vendredi 8 juin 2007 Statut Membre Dernière intervention 14 décembre 2016 - 17 juin 2010 à 09:53
ratikuss Messages postés 2004 Date d'inscription vendredi 8 juin 2007 Statut Membre Dernière intervention 14 décembre 2016 - 17 juin 2010 à 09:53
A voir également:
- Fusionner des lignes sous excels
- Comment fusionner des pdf sans logiciel - Guide
- Fusionner fichier excel - Guide
- Fusionner des cellules excel - Guide
- Figer des lignes excel - Guide
- Excel additionner des cellules - Guide
5 réponses
Manny78
Messages postés
190
Date d'inscription
mercredi 16 juin 2010
Statut
Membre
Dernière intervention
3 avril 2014
17
16 juin 2010 à 13:39
16 juin 2010 à 13:39
Normalement c'est impossible sous excel, mais il faut que quelqu'un qui s'y connaitrait en VB confirme.
Je sais en revanche que sous acces c'est surement possible.
Je sais en revanche que sous acces c'est surement possible.
lermite222
Messages postés
8702
Date d'inscription
dimanche 8 avril 2007
Statut
Contributeur
Dernière intervention
22 janvier 2020
1 190
16 juin 2010 à 15:35
16 juin 2010 à 15:35
Bonjour,
Je ne sais pas si c'est possible. ...OUI.
Auriez vous une petite idée ? mais avec 2000 lignes et dix colonnes ça risque de prendre un certain temps, c'est le moins que l'ont puisse dire.
Il faut passer en revue (2000 x 10) cellules x (2000 x 10) soit 40 millions de possibilités !
A+
Je ne sais pas si c'est possible. ...OUI.
Auriez vous une petite idée ? mais avec 2000 lignes et dix colonnes ça risque de prendre un certain temps, c'est le moins que l'ont puisse dire.
Il faut passer en revue (2000 x 10) cellules x (2000 x 10) soit 40 millions de possibilités !
A+
ratikuss
Messages postés
2004
Date d'inscription
vendredi 8 juin 2007
Statut
Membre
Dernière intervention
14 décembre 2016
262
Modifié par ratikuss le 16/06/2010 à 15:43
Modifié par ratikuss le 16/06/2010 à 15:43
Tu peux résoudre facilement ton problème de "redondance" de données avec un programme en VBA.
Si tu le souhaite, je veux bien t'aider à concevoir ce programme.
Le temps d'exécution du programme pourra être long (1 à 2 minutes) mais c'est toujours mieux que de le faire à la main ;-)
Si tu le souhaite, je veux bien t'aider à concevoir ce programme.
Le temps d'exécution du programme pourra être long (1 à 2 minutes) mais c'est toujours mieux que de le faire à la main ;-)
je veux bien un coup de main t'as besoin de quoi ?
ratikuss
Messages postés
2004
Date d'inscription
vendredi 8 juin 2007
Statut
Membre
Dernière intervention
14 décembre 2016
262
17 juin 2010 à 09:02
17 juin 2010 à 09:02
à quoi correspond tes 1 2 3 4 4 ?
et sinon connaitre le nom des colonnes de tes différentes valeurs =)
et sinon connaitre le nom des colonnes de tes différentes valeurs =)
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
ratikuss
Messages postés
2004
Date d'inscription
vendredi 8 juin 2007
Statut
Membre
Dernière intervention
14 décembre 2016
262
17 juin 2010 à 09:53
17 juin 2010 à 09:53
J'ai considéré que ton tableau commençait ligne 1 et que :
colonne A = numero index
colonne B = nom
colonne C = prenom
colonne D = date de naissance
colonne E = divers
Voilà =) ça à l'air de fonctionner de mon coté, par contre le mieux serait de rajouter un bout de code qui trouve automatiquement le nombre de ligne dans ton tableau.
colonne A = numero index
colonne B = nom
colonne C = prenom
colonne D = date de naissance
colonne E = divers
Sub anti_redondance() nb_ligne = 2000 ReDim numero(nb_ligne) ReDim nom(nb_ligne) ReDim prenom(nb_ligne) ReDim naissance(nb_ligne) ReDim divers(nb_ligne) ReDim ligne_a_supprimer(nb_ligne) For i = 1 To nb_ligne numero(i) = Range("A" & i) nom(i) = Range("B" & i) prenom(i) = Range("C" & i) naissance(i) = Range("D" & i) divers(i) = Range("E" & i) ligne_a_supprimer(i) = 0 Next i For x = 1 To nb_ligne For y = 1 To nb_ligne If Range("B" & x) = nom(y) And Range("C" & x) = prenom(y) And Range("A" & x) <> numero(y) Then If naissance(y) <> "" Then temp_naissance = naissance(y) End If temp_divers = divers(y) ligne_a_supprimer(y) = 1 For n = 1 To nb_ligne If Range("B" & n) = nom(y) And Range("C" & n) = prenom(y) And Range("E" & n) <> divers(y) Then If naissance(y) <> "" Then Range("D" & n) = naissance(y) End If Range("E" & n) = divers(y) & " " & divers(n) End If Next n End If Next y Next x For i = 1 To nb_ligne If ligne_a_supprimer(i) = 1 Then Rows(i + 1).Select Selection.Delete Shift:=xlUp End If Next i End Sub
Voilà =) ça à l'air de fonctionner de mon coté, par contre le mieux serait de rajouter un bout de code qui trouve automatiquement le nombre de ligne dans ton tableau.