Recopie dans une cellule

bonsoir le Forum,

j'ai une question pour lequel je n'ai pas trouvé de solutions :

sur l'exemple en pj, des postes sont à valoriser de A2 à A8, mon souhait serait que les informations saisies dans la colonne A et qui sont supérieures à 0 soient recopiées dans la cellule C11 et séparées par une virgule

merci de vos commentaires avisés

chb44

Bonsoir,

=CONCATENER(A2;", ";A3;", ";A4;", ";A5;", ";A6;", ";A7;", ";A8)

Amicalement

Claude

Bonjour Claude

Merci pour la solution proposée mais serait-il possible d'automatiser ceci car toutes les cellules peuvent être ou non valorisées ?

est-ce possible ?

Merci de vos commentaires

Bonjour,

Sub Concat()
Dim Lg%, i%
    Application.ScreenUpdating = False
    Lg = Range("a" & Rows.Count).End(xlUp).Row
        Range("f3").Clear 'efface
    For i = 2 To Lg
        If Not IsEmpty(Range("a" & i)) Then
            Range("f3") = Range("f3") & Cells(i, "a") & ", "
        End If
    Next i
    '--- supprime la dernière virgule ", " ---
    Range("f3") = Mid(Range("f3"), 1, Len(Range("f3")) - 2)
End Sub

Amicalement

Claude

22chb44-concat.zip (13.75 Ko)

merci Claude

a priori, le code affiche également les cellules qui sont à 0 alors qu'il ne faudrait pas

merci de ton aide

PS : j'avais trouvé une solution avec concatener mais à priori la formule est limitée à 15 cellules, pouvez vous confirmer ?

re,

essaye avec

Sub Concat()
Dim Lg%, i%
    Application.ScreenUpdating = False
    Lg = Range("a" & Rows.Count).End(xlUp).Row
        Range("f3").Clear 'efface
    For i = 2 To Lg
        If Not IsEmpty(Range("a" & i)) And Range("b" & i) > 0 Then
            Range("f3") = Range("f3") & Cells(i, "a") & ", "
        End If
    Next i
    '--- supprime la dernière virgule ", " ---
    Range("f3") = Mid(Range("f3"), 1, Len(Range("f3")) - 2)
End Sub

Claude

merci Claude, cela fonctionne !!

Rechercher des sujets similaires à "recopie"