Besoin d'une formule de concaténation/conditionnelle
Fermé
Sawk_
Messages postés
3
Date d'inscription
jeudi 28 mars 2013
Statut
Membre
Dernière intervention
28 mars 2013
-
Modifié par Sawk_ le 28/03/2013 à 11:01
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 - 28 mars 2013 à 17:53
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 - 28 mars 2013 à 17:53
A voir également:
- Besoin d'une formule de concaténation/conditionnelle
- Excel mise en forme conditionnelle formule - Guide
- Formule si et - Guide
- Formule excel pour additionner plusieurs cellules - Guide
- Formule excel moyenne - Guide
- Formule excel - Guide
5 réponses
michel_m
Messages postés
16603
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2023
3 310
Modifié par michel_m le 28/03/2013 à 11:12
Modifié par michel_m le 28/03/2013 à 11:12
Bonjour,
Combien as tu de lignes dans ton tableau ?
Les noms de villes sont ils toujours groupés ?
Version Excel ?
Michel
Combien as tu de lignes dans ton tableau ?
Les noms de villes sont ils toujours groupés ?
Version Excel ?
Michel
Sawk_
Messages postés
3
Date d'inscription
jeudi 28 mars 2013
Statut
Membre
Dernière intervention
28 mars 2013
28 mars 2013 à 11:18
28 mars 2013 à 11:18
milles lignes, les noms de ville sont en effet toujours groupées, et c'est excel 2010
michel_m
Messages postés
16603
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2023
3 310
28 mars 2013 à 12:33
28 mars 2013 à 12:33
re,
Solution par macro VBA , OK ?
Solution par macro VBA , OK ?
Sawk_
Messages postés
3
Date d'inscription
jeudi 28 mars 2013
Statut
Membre
Dernière intervention
28 mars 2013
28 mars 2013 à 13:02
28 mars 2013 à 13:02
re michel, oui, ca serait ok!
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
michel_m
Messages postés
16603
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2023
3 310
Modifié par michel_m le 28/03/2013 à 17:54
Modifié par michel_m le 28/03/2013 à 17:54
J'ai annulé le post de 14:41 car je m'étais mélangé les pinceaux entre les variables cptr et Index
https://www.cjoint.com/?3CCrWVR4AsI
600 lignes durée: >= 0,03 secondes (Ram 512 Mo, Proc 3 ghz)
la cellule A2 nommée origine permet de déplacer le tableau où on veut sans avoir d'effet sur la macro
le code rectifié:
Michel
https://www.cjoint.com/?3CCrWVR4AsI
600 lignes durée: >= 0,03 secondes (Ram 512 Mo, Proc 3 ghz)
la cellule A2 nommée origine permet de déplacer le tableau où on veut sans avoir d'effet sur la macro
le code rectifié:
Option Explicit Sub concatener_sap() Dim Deb_lig As Byte, Deb_col As Byte, Der_lig As Integer, Tablo() Dim Cptr As Integer, Ville As String, Concat As String, Index As Integer Dim start As Single start = Timer Application.ScreenUpdating = False With Sheets(1) '----- initialisations Deb_lig = .Range("origine").Row Deb_col = .Range("origine").Column Der_lig = .Columns(Deb_col).Find("*", , , , , xlPrevious).Row 'mémorisation en mémoire RAM des données Tablo = .Range(.Cells(Deb_lig, Deb_col), .Cells(Der_lig, Deb_col + 3)).Value '------concaténation des sap dans la colonne 4 de tablo For Cptr = 1 To UBound(Tablo) Ville = Tablo(Cptr, 1) Index = Cptr Concat = "" While Tablo(Cptr, 1) = Ville Concat = Concat & " " & Tablo(Cptr, 2) Tablo(Index, 4) = Trim(Concat) '.Cells(Index + 1, "D") = Concat 'essai If Cptr = UBound(Tablo) Then Exit For Cptr = Cptr + 1 Wend Cptr = Cptr - 1 Next '-----restitution du tableau avec les concaténations .Range("origine").Resize(UBound(Tablo), 4) = Tablo .Range(.Cells(Deb_lig, Deb_col), .Cells(Der_lig, Deb_col + 3)).Borders.Weight = xlThin .Columns(Deb_col + 3).AutoFit End With Application.ScreenUpdating = False MsgBox "durée des concaténations: " & Timer - start & " sec." End Sub
Michel