Question Visual Basic

  • Initiateur de la discussion Initiateur de la discussion david.ridelaire
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

D

david.ridelaire

Guest
Bonjour à tous,

voila j'ai insérer dans VBA ces 2 programmes dans la même feuille :

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 1 And Target.Rows.Count = 1 Then
If Target.Offset(0, 7) = "" Then Target.Offset(0, 7) = Date
End If
End Sub

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 5 And Target.Rows.Count = 1 Then
If Target.Offset(0, 2) = "" Then Target.Offset(0, 2) = Date
End If
End Sub

lorsque j'execute ces codes dans ma feuille de calcul une boite de dialogue apparait et me dit "erreur de compilation nom ambigu détecté Worksheet_change"

que doi-je faire pour qu'il s'execute normalement

d'avance merci à tous

DAVID
 
Re : Question Visual Basic

bonjour

tu ne peux pas avoir 2 evenementielles change

Il faut mettre tes 2 codes ensemble

cela donnerait à peu près

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 1 And Target.Rows.Count = 1 Then
If Target.Offset(0, 7) = "" Then Target.Offset(0, 7) = Date
elseIf Target.Column = 5 And Target.Rows.Count = 1 Then
If Target.Offset(0, 2) = "" Then Target.Offset(0, 2) = Date
End If
End Sub
 
Re : Question Visual Basic

Bonjour à tous,

voila j'ai insérer dans VBA ces 2 programmes dans la même feuille :

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 1 And Target.Rows.Count = 1 Then
If Target.Offset(0, 7) = "" Then Target.Offset(0, 7) = Date
End If
End Sub

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 5 And Target.Rows.Count = 1 Then
If Target.Offset(0, 2) = "" Then Target.Offset(0, 2) = Date
End If
End Sub

lorsque j'execute ces codes dans ma feuille de calcul une boite de dialogue apparait et me dit "erreur de compilation nom ambigu détecté Worksheet_change"

que doi-je faire pour qu'il s'execute normalement

d'avance merci à tous

DAVID
Salut

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.cells.Count > 1 Then exit sub
If Target.Offset(0, 7) = "" Then Target.Offset(0, 7) = Date
End If
If Target.Column = 5 And Target.Rows.Count = 1 Then
If Target.Offset(0, 2) = "" Then Target.Offset(0, 2) = Date
End If
End Sub

mais je verrais plutôt :

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Cells.Count > 1 Then Exit Sub
If Target.Column = 1 And Target.Offset(0, 7) = "" Then Target.Offset(0, 7) = Date
If Target.Column = 5 And Target.Offset(0, 2) = "" Then Target.Offset(0, 2) = Date
End Sub

A+
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

  • Question Question
Microsoft 365 worksheet_change
Réponses
29
Affichages
1 K
Réponses
9
Affichages
508
Retour