VBA copie de données

Bonjour tout le monde,

J'ai dû faire un code VBA qui n'a ni queue ni tête ...

Je vous explique ce que je souhaiterais (je vous joint un extrait du fichier pour mieux comprendre).

En A2, B2 et C2, j'ai des listes.

Et je souhaiterais que lorsque je tape la date (dans la colonne E), ça me mette automatiquement dans les colonnes B,C et D, les valeurs sélectionnées dans la liste (sur la même ligne que la date venant d’être tapée bien sûr).

Et lorsque je sélectionne d'autres choix dans mes listes, que ça ne change pas les valeurs qui sont déjà rentrées ...

Voici le code que j'ai fait

Private Sub Worksheet_Change(ByVal Target As Range)
If Not Application.Intersect(Target, Range("E6:E1048576")) Is Nothing Then Call Ecriture
End Sub
Sub Ecriture()
Dim Réf As String
Dim lngLigne As Long
Réf1 = Sheets("Feuille").Cells(2, 1)
Réf2 = Sheets("Feuille").Cells(2, 2)
Réf3 = Sheets("Feuille").Cells(2, 3)
lngLigne = Sheets("Feuille").Range("E6").End(xlDown)
If Sheets("Feuille").Range("E6" & lngLigne).Value <> "" Then
Cell.Offset(0, -3) = Réf1
Cell.Offset(0, -2) = Réf2
Cell.Offset(0, -1) = Réf3
End If
End Sub

Clem

11demo.xlsm (18.86 Ko)

Bonjour

Commence par défusionner tes cellules A5:E6

Private Sub Worksheet_Change(ByVal Target As Range)
If Application.Intersect(Target, Range("E:E")) Is Nothing Or Target.Count > 1 Then Exit Sub
Range("B" & Target.Row & ":D" & Target.Row) = Range("A2:C2").Value
End Sub

Merci beaucoup !

Je ne comprends pas cette partie du code :

Range("B" & Target.Row

Clem

Merci beaucoup !

Je ne comprends pas cette partie du code :

Range("B" & Target.Row

Clem

Bonjour,

Target : Cellule dont le changement à provoqué l'exécution de la macro

.Row : propriété qui renvoie le n° de ligne d'un objet (si Target correspond à B10, Target.Row renvoie 10)

Range("A10") : une syntaxe possible pour faire référence à une plage

Pour la dernière, on peut décomposer le nom de la plage, par exemple les écritures suivantes sont équivalentes

Range("A10") 

Range("A" & "10")

i = 10
Range("A" & i)

Ah super pour l'explication !

Merci beaucoup

Clem

Rechercher des sujets similaires à "vba copie donnees"