salut,
j'ai un problème qu me tracas: je veux créer un historique dans excel tel que étant dans la feuille 1, quand je valide l'information dans une cellule de la colonne X, la ligne contenant la cellule est automatiquement enregistrée dans une ligne vide de la feuille 2.
merci de m'aider à résoudre ce problème.
Bonjour kamgang, bienvenue sur XLD, salut Yoyo01000,
A placer dans le code de la feuille source (clic droit sur l'onglet et Visualiser le code) :
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim r As Range, lig
Set r = Intersect(Target, [X:X])
If r Is Nothing Then Exit Sub
With Feuil2 'CodeName de la feuille de destination
If .[A1] = "" Then .[A1] = " "
lig = .Cells.Find("*", , xlFormulas, , xlByRows, xlPrevious).Row + 1
For Each r In r 'en cas d'entrées multiples
If r <> "" Then r.EntireRow.Copy .Rows(lig): lig = lig + 1
Next
End With
End Sub
La macro se déclenche quand on entre une valeur en colonne X.
Bonjour Yoyo01000,
merci pour la réponse mais ça ne resoud pas mon problème.
chaque fois que une cellule de la colonne X de la feuille 1 est modifiée, toute la ligne contenant cette cellule est enregistrée sur une nouvelle ligne vide et à la suite des autres lignes non vides de la feuille 2.
Bonjour kamgang, bienvenue sur XLD, salut Yoyo01000,
A placer dans le code de la feuille source (clic droit sur l'onglet et Visualiser le code) :
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim r As Range, lig
Set r = Intersect(Target, [X:X])
If r Is Nothing Then Exit Sub
With Feuil2 'CodeName de la feuille de destination
If .[A1] = "" Then .[A1] = " "
lig = .Cells.Find("*", , xlFormulas, , xlByRows, xlPrevious).Row + 1
For Each r In r 'en cas d'entrées multiples
If r <> "" Then r.EntireRow.Copy .Rows(lig): lig = lig + 1
Next
End With
End Sub
La macro se déclenche quand on entre une valeur en colonne X.
Bonjour job75,
merci pour la réponse.
J'ai oublié de préciser que je suis un bleue sur vba excel et et je suis à mon premier pas. j'ai donc les difficultés à appliquer ta proposition de solution.
merci de me détailler la procédure d’exécution je t’en prie
Bonjour job75,
merci pour la réponse.
J'ai oublié de préciser que je suis un bleue sur vba excel et et je suis à mon premier pas. j'ai donc les difficultés à appliquer ta proposition de solution.
merci de me détailler la procédure d’exécution je t’en prie.
Et aussi dans ta syntaxe je ne vois pas ou définir la source de la copie.
excuses moi si je suis un peu bête: c'est juste que je suis un bleue
salut job75,
voici ou ça bloque (voir image) .
je veux que chaque fois que j'entre les données dans une cellule de la colonne C de la feuille1, la ligne portant la cellule soit enregistrée dans la feuille2 sur une ligne vide à la suite des lignes non vides.
prière de m'aider je vous en prie.