|
J'ai encore un petit soucis dans mon fichier : Si je modifie la valeur d'une cellule et termine par la touche entrée : le contenu de userform correspond bien au autre valeur de la ligne Si je modifie la valeur d'une cellule et termine par la touche de déplacement vers le bas : le contenu de userform correspond au valeur de la ligne d'en dessous.(sauf la valeur "r") voici le code : Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) celaddress = Target.Address colonne = Target.Column UserForm1.Show Target.Offset(1, 0).Select End Sub Private Sub Worksheet_Change(ByVal Target As Range) If Target.Count <> 1 Then Exit Sub If Target = "" Then Exit Sub r = Target.Address & ")" & Format(Target.Value, "#.### €") c = Target.Column fournisseur = Target.Offset(0, 1).Value Produit = ActiveCell.EntireRow.Cells(6) Prix1 = Format(ActiveCell.EntireRow.Cells(15), "#.### €") Frn1 = ActiveCell.EntireRow.Cells(16) Prix2 = Format(ActiveCell.EntireRow.Cells(17), "#.### €") Frn2 = ActiveCell.EntireRow.Cells(18) Prix3 = Format(ActiveCell.EntireRow.Cells(19), "#.### €") Frn3 = ActiveCell.EntireRow.Cells(20) Prix4 = Format(ActiveCell.EntireRow.Cells(21), "#.### €") Frn4 = ActiveCell.EntireRow.Cells(22) With Worksheets("historiques") dl = .Cells(Rows.Count, c).End(xlUp).Row If .Cells(dl, c) <> r Then .Cells(dl + 1, c) = r & " " & Produit & " " & fournisseur & " le : " & Format(Now, "dd/mmm/YY") & " (" & Format(Now, "HH:MM") & ")" _ & " ==== " & Prix1 & " : " & Frn1 & " / " & Prix2 & " : " & Frn2 & " / " & Prix3 & " : " & Frn3 & " / " & Prix4 & " : " & Frn4 & "." End With If Intersect(Target, Range("f5")) Is Nothing Then: Exit Sub Select Case Target.Value Case "Autres" MacroAutres Case "Cuisine" MacroCuisine Case "Bar" MacroBar Case "Tous" MacroTotale Case "Inventaire" MacroInventaire End Select End Sub Il faut que "Produit, Prix1, Frn1, Prix2, Frn2, etc... renvoie la valeur de la cellule correspondante (colonne 6, 15, 17 etc..) de la même ligne que la cellule sélectionnée que je valide par la touche entrée ou une touche de déplacement. merci encore de ta précieuse aide [quote="ColletP28"]J'ai encore un petit soucis dans mon fichier : Si je modifie la valeur d'une cellule et termine par la touche entrée : le contenu de userform correspond bien au autre valeur de la ligne Si je modifie la valeur d'une cellule et termine par la touche de déplacement vers le bas : le contenu de userform correspond au valeur de la ligne d'en dessous.(sauf la valeur "r") voici le code : Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) celaddress = Target.Address colonne = Target.Column UserForm1.Show Target.Offset(1, 0).Select End Sub Private Sub Worksheet_Change(ByVal Target As Range) If Target.Count <> 1 Then Exit Sub If Target = "" Then Exit Sub r = Target.Address & ")" & Format(Target.Value, "#.### €") c = Target.Column fournisseur = Target.Offset(0, 1).Value Produit = ActiveCell.EntireRow.Cells(6) Prix1 = Format(ActiveCell.EntireRow.Cells(15), "#.### €") Frn1 = ActiveCell.EntireRow.Cells(16) Prix2 = Format(ActiveCell.EntireRow.Cells(17), "#.### €") Frn2 = ActiveCell.EntireRow.Cells(18) Prix3 = Format(ActiveCell.EntireRow.Cells(19), "#.### €") Frn3 = ActiveCell.EntireRow.Cells(20) Prix4 = Format(ActiveCell.EntireRow.Cells(21), "#.### €") Frn4 = ActiveCell.EntireRow.Cells(22) With Worksheets("historiques") dl = .Cells(Rows.Count, c).End(xlUp).Row If .Cells(dl, c) <> r Then .Cells(dl + 1, c) = r & " " & Produit & " " & fournisseur & " le : " & Format(Now, "dd/mmm/YY") & " (" & Format(Now, "HH:MM") & ")" _ & " ==== " & Prix1 & " : " & Frn1 & " / " & Prix2 & " : " & Frn2 & " / " & Prix3 & " : " & Frn3 & " / " & Prix4 & " : " & Frn4 & "." End With If Intersect(Target, Range("f5")) Is Nothing Then: Exit Sub Select Case Target.Value Case "Autres" MacroAutres Case "Cuisine" MacroCuisine Case "Bar" MacroBar Case "Tous" MacroTotale Case "Inventaire" MacroInventaire End Select End Sub Il faut que "Produit, Prix1, Frn1, Prix2, Frn2, etc... renvoie la valeur de la cellule correspondante (colonne 6, 15, 17 etc..) de la même ligne que la cellule sélectionnée que je valide par la touche entrée ou une touche de déplacement. merci encore de ta précieuse aide (责任编辑:) |
