A partir de la macro ci dessous, déposée sur ce forum et grand merci à son
auteur, je souhaiterai
la modifier pour avoir la fonctionnalité suivante :
Récuperer la valeur des autres cellules de la meme ligne de la feuille 1 et
quelque que soit la cellule choisie dans la feuille 2 avec une seule cellule
Dans la macro on recupére les valeurs des autres cellules a condition que
les valeurs en B et C de la feuille 2 se trouve en feuille 1
Merci d'avance
j@b
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 2 Then
For Each c In Worksheets("Feuil1").Range("B2", "B" &
Sheets("Feuil1").Range("A65535").End(xlUp).Row)
If c = Target And c.Offset(0, 1) = Target.Offset(0, 1) Then
Range("A" & Target.Row) = c.Offset(0, -1)
Range("D" & Target.Row) = c.Offset(0, 2)
Range("E" & Target.Row) = c.Offset(0, 3)
Exit For
End If
Next
End If
If Target.Column = 3 Then
For Each c In Worksheets("Feuil1").Range("C2", "C" &
Sheets("Feuil1").Range("C65535").End(xlUp).Row)
If c = Target And c.Offset(0, -1) = Target.Offset(0, -1) Then
Range("A" & Target.Row) = c.Offset(0, -2)
Range("D" & Target.Row) = c.Offset(0, 1)
Range("E" & Target.Row) = c.Offset(0, 2)
Exit For
End If
Next
End If
End Sub
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
FFO
Salut J&B
Je te propose ce code à mettre dans le VBA de la Feuil2
Private Sub Worksheet_Change(ByVal Target As Range) Application.EnableEvents = False For Each c In Worksheets("Feuil1").Range(Cells(2, Target.Column).Address, Sheets("Feuil1").Range(Cells(65535, Target.Column).Address).End(xlUp).Address) If c = Target Then c.EntireRow.Copy Sheets("Feuil2").Range("A" & Target.Row) Exit For End If Next Application.EnableEvents = True End Sub
Toutes saisies en Feuil2 recopient l'ensemble de la ligne de la Feuil1 ayant dans la même colonne la valeur saisie
Celà devrait te convenir
Dis Moi !!!!
Salut J&B
Je te propose ce code à mettre dans le VBA de la Feuil2
Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
For Each c In Worksheets("Feuil1").Range(Cells(2, Target.Column).Address,
Sheets("Feuil1").Range(Cells(65535, Target.Column).Address).End(xlUp).Address)
If c = Target Then
c.EntireRow.Copy Sheets("Feuil2").Range("A" & Target.Row)
Exit For
End If
Next
Application.EnableEvents = True
End Sub
Toutes saisies en Feuil2 recopient l'ensemble de la ligne de la Feuil1 ayant
dans la même colonne la valeur saisie
Je te propose ce code à mettre dans le VBA de la Feuil2
Private Sub Worksheet_Change(ByVal Target As Range) Application.EnableEvents = False For Each c In Worksheets("Feuil1").Range(Cells(2, Target.Column).Address, Sheets("Feuil1").Range(Cells(65535, Target.Column).Address).End(xlUp).Address) If c = Target Then c.EntireRow.Copy Sheets("Feuil2").Range("A" & Target.Row) Exit For End If Next Application.EnableEvents = True End Sub
Toutes saisies en Feuil2 recopient l'ensemble de la ligne de la Feuil1 ayant dans la même colonne la valeur saisie