Concatener plusieurs cellules dans une boucle

Résolu
ngio1301 Messages postés 49 Date d'inscription   Statut Membre Dernière intervention   -  
ngio1301 Messages postés 49 Date d'inscription   Statut Membre Dernière intervention   -
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.

2 réponses

  1. franc38 Messages postés 197 Date d'inscription   Statut Membre Dernière intervention   38
     
    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
    1. ngio1301 Messages postés 49 Date d'inscription   Statut Membre Dernière intervention  
       
      C'est exactement cela dont j'avais besoin. Merci grandement.
      0
  2. ngio1301 Messages postés 49 Date d'inscription   Statut Membre Dernière intervention  
     
    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