Reour à la ligne vba..

Résolu
julia Namor Messages postés 532 Statut Membre -  
julia Namor Messages postés 532 Statut Membre -
Bonjour,

Je souhaiterai rajouter une valeur, avec un retour à la ligne ,au contenu de chaque cellule d'une plage .
Le problème c'est que les valeurs rajoutées se "rajoutent " à la suite ...: logique vous me direz.
Mais je voudrais que la valeur ajoutée remplace toujours celle d'avant sans modifier le contenu initial de la cellule .
Je vous joins un fichier pour plus de clarté .
https://www.cjoint.com/c/FLDpNTDONoy
Bien merci à vous



A voir également:

3 réponses

eriiic Messages postés 25847 Statut Contributeur 7 279
 
Bonjour,

Pas bien compris...
Mais je voudrais que la valeur ajoutée remplace toujours celle d'avant sans modifier le contenu initial de la cellule .
Donc tu veux remplacer la dernière ligne d'une cellule ?
Et sans modifier le contenu initial ça je ne sais pas faire. Pas clair ton truc...
Si oui :
Sub Bouton1_Clic()
    Dim c As Range, txt As String, ch
    txt = Sheets("Feuil1").Range("D3").Value
    For Each c In Sheets("Feuil1").Range("$G$9:$U$9")
        ch = Split(c, vbLf)
        If UBound(ch) > 0 Then
            ch(UBound(ch)) = txt
            c.Value = Join(ch, vbLf)
        End If
    Next
End Sub

ne remplace que s'il y a au moins 2 lignes.
eric

En essayant continuellement, on finit par réussir. 
Donc plus ça rate, plus on a de chances que ça marche.(les Shadoks)
En plus du merci (si si, ça se fait !!!), penser à mettre en résolu. Merci
0
julia Namor Messages postés 532 Statut Membre 33
 
Merci Eric

Désolée pour mes explications pas claires .
En fait :
Sheets("Feuil1").Range("D3").Value
est une variable qu'il faut rajouter dans la cellule qui contient déjà une valeur . ( Bruit , cuir, jour .....etc)
Il faudrait que à chaque fois que la variable
Sheets("Feuil1").Range("D3").Value
change , elle est rajoutée dans la cellule à la place de l’ancienne variable .
Merci
0
eriiic Messages postés 25847 Statut Contributeur 7 279
 
A la place de quelle ancienne variable ?
Fait un fichier plus varié, là tes cellules sont toutes identiques
Et précises quelles cellules doivent changer avec le Avant, le Après en-dessous, et le pourquoi.
0
julia Namor Messages postés 532 Statut Membre 33
 
Je te joins un fichier plus explicatif
https://www.cjoint.com/c/FLDsp7L3M4y
merci
0
yg_be Messages postés 24281 Statut Contributeur 1 584
 
Suggestion :
Option Explicit
Sub Bouton1_Clic()
Dim CELL As Range
Dim position As Integer
For Each CELL In Sheets("Feuil1").Range("$G$9:$U$9")
    position = InStr(CELL, vbCrLf)
    If position = 0 Then
        CELL.Value = CELL.Value & vbCrLf & Sheets("Feuil1").Range("D3").Value
    Else
        CELL = Left(CELL.Value, position + 1) & Sheets("Feuil1").Range("D3").Value
    End If
Next
End Sub
0
julia Namor Messages postés 532 Statut Membre 33 > yg_be Messages postés 24281 Statut Contributeur
 
Génialissime!!!!!!!!
Du grand art .
Merci et merci
0