Bonjour,
Je voudrais réaliser un code avec VBA pour que lorsque une cellule (i,j) de ma feuille 1 change la cellule (i',j') de ma feuille deux prenne cette valeur. J'ai donc utiliser Worksheet_change mais ça ne fonctionne pas, j'ai essayer de passer en Workbook mais la non plus ça marche pas.
Voici le code :
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim i As Integer
Dim j As Integer
i = 18
While (Sheets("Feuil2").Cells(i, 2).Value <> "")
i = i + 1
Wend
j = i + 1
If Target.Column = 3 And Target.Row = 7 Then 'Nom de l'entreprise
Sheets("Feuil2").Cells(i, 2).Value = Target
Sheets("Feuil2").Cells(j, 2).Value = Target
ElseIf Target.Column = 3 And Target.Row = 9 Then 'Code postale
Sheets("Feuil2").Cells(i, 11).Value = Target
Sheets("Feuil2").Cells(j, 11).Value = Target
ElseIf Target.Column = 3 And Target.Row = 12 Then 'Nom du responsable 1
Sheets("Feuil2").Cells(i, 11).Value = Target
ElseIf Target.Column = 3 And Target.Row = 13 Then 'Nom du responsable 2
Sheets("Feuil2").Cells(j, 11).Value = Target
ElseIf Target.Column = 3 And Target.Row = 17 Then 'Sous traitant
Sheets("Feuil2").Cells(i, 4).Value = Target
Sheets("Feuil2").Cells(j, 4).Value = Target
ElseIf Target.Column = 5 And Target.Row = 10 Then 'Telephone fixe
Sheets("Feuil2").Cells(i, 6).Value = Target
Sheets("Feuil2").Cells(j, 6).Value = Target
ElseIf Target.Column = 5 And Target.Row = 12 Then 'Portable resp 1
Sheets("Feuil2").Cells(i, 8).Value = Target
ElseIf Target.Column = 5 And Target.Row = 13 Then 'Portable resp 2
Sheets("Feuil2").Cells(j, 8).Value = Target
ElseIf Target.Column = 5 And Target.Row = 5 Then 'Date IC
Sheets("Feuil2").Cells(i, 14).Value = Target
ElseIf Target.Column = 7 And Target.Row = 9 Then 'Ville
'Sheets("Feuil2").Cells(i, 13).Value = Target.Offset(-1, 0) & "-" & Target
ElseIf Target.Column = 7 And Target.Row = 10 Then 'Fax
Sheets("Feuil2").Cells(i, 7).Value = Target
Sheets("Feuil2").Cells(j, 7).Value = Target
ElseIf Target.Column = 7 And Target.Row = 12 Then 'Mail resp 1
Sheets("Feuil2").Cells(i, 9).Value = Target
ElseIf Target.Column = 7 And Target.Row = 13 Then 'Mail resp 2
Sheets("Feuil2").Cells(j, 9).Value = Target
ElseIf Target.Column = 6 And Target.Row = 9 Then 'Code postal
Sheets("Feuil2").Cells(i, 13).Value = Target & "-" & Target.Offset(1, 0)
End If
End Sub
Si vous avez une idée n'hésité pas.
Merci d'avance.