J'ai des series de cellules de texte sur en colonne A, s=E9par=E9e par
des lignes vides du type :
zaza
azeza
zezaeza
zaea
azea
zeaze
dqsd
Le nombre de cellules dans ces groupes de cellules varie. J'aimerai
concat=E9ner chauqe groupe de cellule en une seule cellule en colonne B.
Je cherche donc =E0 d=E9velopper une macro qui compterai le nombre de
cellules pleines par groupe puis les concact=E8nerai. Voil=E0 le code en
l'=E9tat :
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Daniel
Bonsoir. Essaie :
Sub test() Dim plage As Range, c As Range, Ctr As Long Set plage = Range("A1", Range("A65536").End(xlUp)) Ctr = 1 For Each c In plage If c.Value <> "" Then Range("B" & Ctr) = Range("B" & Ctr) & c.Value Else Ctr = Ctr + 1 End If Next c End Sub
Cordialement. Daniel "Richard G." a écrit dans le message de news:
Bonsoir,
J'ai des series de cellules de texte sur en colonne A, séparée par des lignes vides du type : zaza azeza zezaeza zaea
azea zeaze dqsd
Le nombre de cellules dans ces groupes de cellules varie. J'aimerai concaténer chauqe groupe de cellule en une seule cellule en colonne B.
Je cherche donc à développer une macro qui compterai le nombre de cellules pleines par groupe puis les concactènerai. Voilà le code en l'état :
Sub test()
Dim plage As Range, c As Range, Ctr As Long
Set plage = Range("A1", Range("A65536").End(xlUp))
Ctr = 1
For Each c In plage
If c.Value <> "" Then
Range("B" & Ctr) = Range("B" & Ctr) & c.Value
Else
Ctr = Ctr + 1
End If
Next c
End Sub
Cordialement.
Daniel
"Richard G." <jamesTcarville@yahoo.fr> a écrit dans le message de news:
1131727672.766387.136940@g14g2000cwa.googlegroups.com...
Bonsoir,
J'ai des series de cellules de texte sur en colonne A, séparée par
des lignes vides du type :
zaza
azeza
zezaeza
zaea
azea
zeaze
dqsd
Le nombre de cellules dans ces groupes de cellules varie. J'aimerai
concaténer chauqe groupe de cellule en une seule cellule en colonne B.
Je cherche donc à développer une macro qui compterai le nombre de
cellules pleines par groupe puis les concactènerai. Voilà le code en
l'état :
Sub test() Dim plage As Range, c As Range, Ctr As Long Set plage = Range("A1", Range("A65536").End(xlUp)) Ctr = 1 For Each c In plage If c.Value <> "" Then Range("B" & Ctr) = Range("B" & Ctr) & c.Value Else Ctr = Ctr + 1 End If Next c End Sub
Cordialement. Daniel "Richard G." a écrit dans le message de news:
Bonsoir,
J'ai des series de cellules de texte sur en colonne A, séparée par des lignes vides du type : zaza azeza zezaeza zaea
azea zeaze dqsd
Le nombre de cellules dans ces groupes de cellules varie. J'aimerai concaténer chauqe groupe de cellule en une seule cellule en colonne B.
Je cherche donc à développer une macro qui compterai le nombre de cellules pleines par groupe puis les concactènerai. Voilà le code en l'état :
'*** Sub concatAenB() Dim rst As Range, fin As Long, mtxt As String Set rst = [a1] fin = [a65536].End(xlUp).Row Application.ScreenUpdating = False Do While rst.Row < fin If IsEmpty(rst) Then Set rst = rst.Offset(1, 0) Else mtxt = rst For i = 1 To fin If Not IsEmpty(rst.Offset(i, 0)) Then mtxt = mtxt & rst.Offset(i, 0) Else rst.Offset(0, 1) = mtxt Set rst = rst.Offset(i + 1, 0) Exit For End If Next End If Loop Application.ScreenUpdating = True Set rst = Nothing End Sub '***
'lSteph
"Richard G." a écrit dans le message de news:
Bonsoir,
J'ai des series de cellules de texte sur en colonne A, séparée par des lignes vides du type : zaza azeza zezaeza zaea
azea zeaze dqsd
Le nombre de cellules dans ces groupes de cellules varie. J'aimerai concaténer chauqe groupe de cellule en une seule cellule en colonne B.
Je cherche donc à développer une macro qui compterai le nombre de cellules pleines par groupe puis les concactènerai. Voilà le code en l'état :
'***
Sub concatAenB()
Dim rst As Range, fin As Long, mtxt As String
Set rst = [a1]
fin = [a65536].End(xlUp).Row
Application.ScreenUpdating = False
Do While rst.Row < fin
If IsEmpty(rst) Then
Set rst = rst.Offset(1, 0)
Else
mtxt = rst
For i = 1 To fin
If Not IsEmpty(rst.Offset(i, 0)) Then
mtxt = mtxt & rst.Offset(i, 0)
Else
rst.Offset(0, 1) = mtxt
Set rst = rst.Offset(i + 1, 0)
Exit For
End If
Next
End If
Loop
Application.ScreenUpdating = True
Set rst = Nothing
End Sub
'***
'lSteph
"Richard G." <jamesTcarville@yahoo.fr> a écrit dans le message de news:
1131727672.766387.136940@g14g2000cwa.googlegroups.com...
Bonsoir,
J'ai des series de cellules de texte sur en colonne A, séparée par
des lignes vides du type :
zaza
azeza
zezaeza
zaea
azea
zeaze
dqsd
Le nombre de cellules dans ces groupes de cellules varie. J'aimerai
concaténer chauqe groupe de cellule en une seule cellule en colonne B.
Je cherche donc à développer une macro qui compterai le nombre de
cellules pleines par groupe puis les concactènerai. Voilà le code en
l'état :
'*** Sub concatAenB() Dim rst As Range, fin As Long, mtxt As String Set rst = [a1] fin = [a65536].End(xlUp).Row Application.ScreenUpdating = False Do While rst.Row < fin If IsEmpty(rst) Then Set rst = rst.Offset(1, 0) Else mtxt = rst For i = 1 To fin If Not IsEmpty(rst.Offset(i, 0)) Then mtxt = mtxt & rst.Offset(i, 0) Else rst.Offset(0, 1) = mtxt Set rst = rst.Offset(i + 1, 0) Exit For End If Next End If Loop Application.ScreenUpdating = True Set rst = Nothing End Sub '***
'lSteph
"Richard G." a écrit dans le message de news:
Bonsoir,
J'ai des series de cellules de texte sur en colonne A, séparée par des lignes vides du type : zaza azeza zezaeza zaea
azea zeaze dqsd
Le nombre de cellules dans ces groupes de cellules varie. J'aimerai concaténer chauqe groupe de cellule en une seule cellule en colonne B.
Je cherche donc à développer une macro qui compterai le nombre de cellules pleines par groupe puis les concactènerai. Voilà le code en l'état :