petitbuzuc
XLDnaute Nouveau
Bonjour à tous
j'ai un fichier excel à faire : je vous le mets en PJ.
dans la colonne J, j'ai une macro qui me permet de sélectionner plusieurs items dans une liste déroulante
If Target.Column = 10 And Target.Address <> "$J$1" Then
If Target.SpecialCells(xlCellTypeAllValidation) Is Nothing Then
GoTo Exitsub
Else: If Target.Value = "" Then GoTo Exitsub Else
Application.EnableEvents = False
Newvalue = Target.Value
Application.Undo
Oldvalue = Target.Value
If Oldvalue = "" Then
Target.Value = Newvalue
Else
If InStr(1, Oldvalue, Newvalue) = 0 Then
Target.Value = Oldvalue & ", " & RetourChariot & Newvalue
Rows(ActiveCell.Row).EntireRow.AutoFit
Else:
Target.Value = Oldvalue
End If
End If
End If
End If
mais je veux aussi rajouter un code vba pour que lorsque quelque chose est modifié sur la ligne (sauf colonne A), alors on met la date et l'heure de la modification en colonne A
Dim ligne As Integer
For ligne = 2 To 10000
Set Plage = Range("B" & ligne & ":Z" & ligne)
If Application.Intersect(Target, Plage) Is Nothing Then
'Hors cible on ne fait rien.
Else
Cells(ligne, "A").Value = Date & " " & Time
Cells(ligne, "A").NumberFormat = "dd/mm/yyyy"
End If
Next
Range("A:A").EntireColumn.AutoFit
Chaque bout de code fonctionne, mais quand je mets les 2 morceaux de code, alors ça ne fonctionne plus.
:-(
je pense que le pb vient que la "target" revient en colonne A une fois que j'ai modifié la colonne J et que du coup, ça n'arrive pas à permettre de selectionner plusieurs items de ma liste déroulante en J.
voila voila ...
si vous avez du code plus efficace, je suis preneuse !!!
Merci d'avance pour votre aide !
Anne
j'ai un fichier excel à faire : je vous le mets en PJ.
dans la colonne J, j'ai une macro qui me permet de sélectionner plusieurs items dans une liste déroulante
If Target.Column = 10 And Target.Address <> "$J$1" Then
If Target.SpecialCells(xlCellTypeAllValidation) Is Nothing Then
GoTo Exitsub
Else: If Target.Value = "" Then GoTo Exitsub Else
Application.EnableEvents = False
Newvalue = Target.Value
Application.Undo
Oldvalue = Target.Value
If Oldvalue = "" Then
Target.Value = Newvalue
Else
If InStr(1, Oldvalue, Newvalue) = 0 Then
Target.Value = Oldvalue & ", " & RetourChariot & Newvalue
Rows(ActiveCell.Row).EntireRow.AutoFit
Else:
Target.Value = Oldvalue
End If
End If
End If
End If
mais je veux aussi rajouter un code vba pour que lorsque quelque chose est modifié sur la ligne (sauf colonne A), alors on met la date et l'heure de la modification en colonne A
Dim ligne As Integer
For ligne = 2 To 10000
Set Plage = Range("B" & ligne & ":Z" & ligne)
If Application.Intersect(Target, Plage) Is Nothing Then
'Hors cible on ne fait rien.
Else
Cells(ligne, "A").Value = Date & " " & Time
Cells(ligne, "A").NumberFormat = "dd/mm/yyyy"
End If
Next
Range("A:A").EntireColumn.AutoFit
Chaque bout de code fonctionne, mais quand je mets les 2 morceaux de code, alors ça ne fonctionne plus.
:-(
je pense que le pb vient que la "target" revient en colonne A une fois que j'ai modifié la colonne J et que du coup, ça n'arrive pas à permettre de selectionner plusieurs items de ma liste déroulante en J.
voila voila ...
si vous avez du code plus efficace, je suis preneuse !!!
Merci d'avance pour votre aide !
Anne
Pièces jointes
Dernière édition: