Concatener plusieurs cellules dans une boucle

Résolu/Fermé
ngio1301 Messages postés 46 Date d'inscription jeudi 5 décembre 2019 Statut Membre Dernière intervention 14 mai 2022 - Modifié le 6 déc. 2019 à 01:26
ngio1301 Messages postés 46 Date d'inscription jeudi 5 décembre 2019 Statut Membre Dernière intervention 14 mai 2022 - 12 déc. 2019 à 15:43
Bonjour, bonsoir!

J'ai écris ce petit code pour récupérer des données dans une Feuille de calcul, mais je ne suis pas assez expérimenté pour pouvoir récupérer ces données et les coller sous la forme d'une phrase, dans une autre cellule du même fichier.

je vous mets le code:


Sub Recup()
Dim TopT As Range
Dim cel As Range

Set TopT = Feuil1.Range("A2:A10")
For Each cel In TopT
    If cel <> "" Then
        If cel = "" Then
            Exit For
        Else
            cel.Select
            ActiveCell.Offset(0, 0).Copy
            ActiveCell.Offset(0, 1).Copy
            ActiveCell.Offset(0, 2).Copy
                If ActiveCell.Offset(0, 4) = "" Then
                    Application.CutCopyMode = xlCut
                    GoTo 1
                Else
                    ActiveCell.Offset(0, 4).Copy
                    ActiveCell.Offset(0, 10).Copy
                End If
            ActiveCell.Offset(0, 15).Copy
            Feuil1.Range("U11").End(xlUp).Offset(1, 0).Select
            Selection.PasteSpecial
            Application.CutCopyMode = xlCut
        End If
    End If
1
Next cel
End Sub


Ce que je souhaite, c'est de grouper les Activecell.Offset(x, x).Copy, ou pouvoir récupérer ces données qui sont forcément dans un dossier temporaire ou autre, et les insérer dans une phrase du genre:
La porte du xxxx a été changé le: xxxx, à: xxxx, par M xxxx.
J'espère avoir été assez claire dans mon exposé. Je vous remerci d'avance pour l'aide.
A voir également:

2 réponses

franc38 Messages postés 197 Date d'inscription mercredi 23 avril 2008 Statut Membre Dernière intervention 27 février 2023 38
7 déc. 2019 à 16:31
Bonjour
J'espère avoir répondu à ton problème.....

Sub Recup()
Dim TopT As Range, cel As Range, mavar As String
Set TopT = Feuil1.Range("A2:A10")
mavar = ""
Columns(21).ClearContents
For Each cel In TopT
If cel <> "" Then
If cel = "" Then
Exit For
Else
cel.Select
mavar = "La porte du " & ActiveCell.Offset(0, 0)
mavar = mavar & " a été changé le: " & ActiveCell.Offset(0, 1)
mavar = mavar & ", à: " & ActiveCell.Offset(0, 2)
If ActiveCell.Offset(0, 4) = "" Then
GoTo 1 'decale d'une ligne les resultats???
Else
mavar = mavar & ", par M " & ActiveCell.Offset(0, 4)
mavar = mavar + ActiveCell.Offset(0, 10)
End If
mavar = mavar + ActiveCell.Offset(0, 15)
Feuil1.Range("U11").End(xlUp).Offset(1, 0).Value = mavar
End If
End If
1
Next cel
End Sub


A+ François
1
ngio1301 Messages postés 46 Date d'inscription jeudi 5 décembre 2019 Statut Membre Dernière intervention 14 mai 2022
12 déc. 2019 à 15:43
C'est exactement cela dont j'avais besoin. Merci grandement.
0
ngio1301 Messages postés 46 Date d'inscription jeudi 5 décembre 2019 Statut Membre Dernière intervention 14 mai 2022
12 déc. 2019 à 15:23
Bonjour François.
Toutes mes excuses pour ma réponse tardive. Je te remercie déjà de m'avoir répondu, mais avec les circonstances sociales je n'ai pas eu trop de temps ces jours-ci. je vais essayer ce que tu m'as envoyé et je te dis si c'est ok.
0