Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

OBLIGER la saisie de 2 cellules - problème de syntaxe

4 réponses
Avatar
Sunburn
Bonjour,
je souhaite obliger la saisie de 2 cellules, j'ai un code qui fonctionne pas
mal, sauf que je ne sais pas la syntaxe, dois-je mettre un "and" au début.
Voici ma macro, ça ne fonctionne pas quand uniquement D17 est rempli, alors
que moi je veux absolument que D15 et D17 soient remplis.
Je vous remercie. YANN
------
Private Sub Workbook_Open()
If Sheets("DA").[d17] <> "" Then
Exit Sub
End If
reponse = InputBox("Entrez vos initiales", Application.UserName)
If reponse = "" Then
Application.DisplayAlerts = False
Application.Application.Quit
End If
Sheets("DA").[d17] = reponse
If Sheets("DA").[d15] <> "" Then
Exit Sub
End If
reponse = InputBox("Entrez les initiales de l'Expert", Application.UserName)
If reponse = "" Then
Application.DisplayAlerts = False
Application.Application.Quit
End If
Sheets("DA").[d15] = reponse
End Sub
-----------

4 réponses

Avatar
JPMonnier
Bonjour,
essaie cette proc en auto_open
Sub Auto_Open()
If Sheets("DA").[d17] <> "" And Sheets("DA").[d15] <> "" Then
Exit Sub
End If
reponse = InputBox("Entrez vos initiales", Application.UserName)
If reponse = "" Then
Application.DisplayAlerts = False
Application.Application.Quit
End If
Sheets("DA").[d17] = reponse
If Sheets("DA").[d15] <> "" And Sheets("DA").[d15] <> "" Then
Exit Sub
End If
reponse = InputBox("Entrez les initiales de l'Expert", Application.UserName)
If reponse = "" Then
Application.DisplayAlerts = False
Application.Application.Quit
End If
Sheets("DA").[d15] = reponse
End Sub

--
Cordialement

"Sunburn" a écrit dans le message de
news:
Bonjour,
je souhaite obliger la saisie de 2 cellules, j'ai un code qui fonctionne
pas
mal, sauf que je ne sais pas la syntaxe, dois-je mettre un "and" au début.
Voici ma macro, ça ne fonctionne pas quand uniquement D17 est rempli,
alors
que moi je veux absolument que D15 et D17 soient remplis.
Je vous remercie. YANN
------
Private Sub Workbook_Open()
If Sheets("DA").[d17] <> "" Then
Exit Sub
End If
reponse = InputBox("Entrez vos initiales", Application.UserName)
If reponse = "" Then
Application.DisplayAlerts = False
Application.Application.Quit
End If
Sheets("DA").[d17] = reponse
If Sheets("DA").[d15] <> "" Then
Exit Sub
End If
reponse = InputBox("Entrez les initiales de l'Expert",
Application.UserName)
If reponse = "" Then
Application.DisplayAlerts = False
Application.Application.Quit
End If
Sheets("DA").[d15] = reponse
End Sub
-----------


Avatar
Sunburn
Hello,
merci, en fait j'ai modifié le code, et celui-là me va bien, car ce sont des
choix imbriqués ...
Par contre, quelle différence y-a-t-il entre "auto_open" et "Workbook_Open" ??
je te remercie.
------
Private Sub Workbook_Open()
If Sheets("DA").[d17] <> "" And Sheets("DA").[d15] <> "" Then
Exit Sub
End If
If Sheets("DA").[d17] = "" Then
reponse = InputBox("Entrez vos initiales")
If reponse = "" Then
Application.DisplayAlerts = False
Application.Application.Quit
End If
Sheets("DA").[d17] = reponse
End If
If Sheets("DA").[d15] <> "" Then
Exit Sub
End If
reponse = InputBox("Entrez les initiales de l'Expert")
If reponse = "" Then
Application.DisplayAlerts = False
Application.Application.Quit
End If
Sheets("DA").[d15] = reponse
End Sub
--------

"JPMonnier" a écrit :

Bonjour,
essaie cette proc en auto_open
Sub Auto_Open()
If Sheets("DA").[d17] <> "" And Sheets("DA").[d15] <> "" Then
Exit Sub
End If
reponse = InputBox("Entrez vos initiales", Application.UserName)
If reponse = "" Then
Application.DisplayAlerts = False
Application.Application.Quit
End If
Sheets("DA").[d17] = reponse
If Sheets("DA").[d15] <> "" And Sheets("DA").[d15] <> "" Then
Exit Sub
End If
reponse = InputBox("Entrez les initiales de l'Expert", Application.UserName)
If reponse = "" Then
Application.DisplayAlerts = False
Application.Application.Quit
End If
Sheets("DA").[d15] = reponse
End Sub

--
Cordialement

"Sunburn" a écrit dans le message de
news:
> Bonjour,
> je souhaite obliger la saisie de 2 cellules, j'ai un code qui fonctionne
> pas
> mal, sauf que je ne sais pas la syntaxe, dois-je mettre un "and" au début.
> Voici ma macro, ça ne fonctionne pas quand uniquement D17 est rempli,
> alors
> que moi je veux absolument que D15 et D17 soient remplis.
> Je vous remercie. YANN
> ------
> Private Sub Workbook_Open()
> If Sheets("DA").[d17] <> "" Then
> Exit Sub
> End If
> reponse = InputBox("Entrez vos initiales", Application.UserName)
> If reponse = "" Then
> Application.DisplayAlerts = False
> Application.Application.Quit
> End If
> Sheets("DA").[d17] = reponse
> If Sheets("DA").[d15] <> "" Then
> Exit Sub
> End If
> reponse = InputBox("Entrez les initiales de l'Expert",
> Application.UserName)
> If reponse = "" Then
> Application.DisplayAlerts = False
> Application.Application.Quit
> End If
> Sheets("DA").[d15] = reponse
> End Sub
> -----------




Avatar
Jacky
Bonjour,
Il y a aussi ceci:
'----------------------
Private Sub Workbook_Open()
With Sheets("DA")
If .[d15] = "" Then .[d15] = InputBox("Entrez vos initiales",
Application.UserName)
If .[d15] = "" Then GoTo sortie
If .[d17] = "" Then .[d17] = InputBox("Entrez les initiales de l'Expert",
Application.UserName)
If .[d17] = "" Then GoTo sortie
End With
Exit Sub
sortie:
Application.DisplayAlerts = False: Application.Application.Quit
End Sub
'---------------------

--
Salutations
JJ


"Sunburn" a écrit dans le message de
news:
Bonjour,
je souhaite obliger la saisie de 2 cellules, j'ai un code qui fonctionne
pas
mal, sauf que je ne sais pas la syntaxe, dois-je mettre un "and" au début.
Voici ma macro, ça ne fonctionne pas quand uniquement D17 est rempli,
alors
que moi je veux absolument que D15 et D17 soient remplis.
Je vous remercie. YANN
------
Private Sub Workbook_Open()
If Sheets("DA").[d17] <> "" Then
Exit Sub
End If
reponse = InputBox("Entrez vos initiales", Application.UserName)
If reponse = "" Then
Application.DisplayAlerts = False
Application.Application.Quit
End If
Sheets("DA").[d17] = reponse
If Sheets("DA").[d15] <> "" Then
Exit Sub
End If
reponse = InputBox("Entrez les initiales de l'Expert",
Application.UserName)
If reponse = "" Then
Application.DisplayAlerts = False
Application.Application.Quit
End If
Sheets("DA").[d15] = reponse
End Sub
-----------


Avatar
Sunburn
Merci, oui c'est plus court ...
YANN

"Jacky" a écrit :

Bonjour,
Il y a aussi ceci:
'----------------------
Private Sub Workbook_Open()
With Sheets("DA")
If .[d15] = "" Then .[d15] = InputBox("Entrez vos initiales",
Application.UserName)
If .[d15] = "" Then GoTo sortie
If .[d17] = "" Then .[d17] = InputBox("Entrez les initiales de l'Expert",
Application.UserName)
If .[d17] = "" Then GoTo sortie
End With
Exit Sub
sortie:
Application.DisplayAlerts = False: Application.Application.Quit
End Sub
'---------------------

--
Salutations
JJ


"Sunburn" a écrit dans le message de
news:
> Bonjour,
> je souhaite obliger la saisie de 2 cellules, j'ai un code qui fonctionne
> pas
> mal, sauf que je ne sais pas la syntaxe, dois-je mettre un "and" au début.
> Voici ma macro, ça ne fonctionne pas quand uniquement D17 est rempli,
> alors
> que moi je veux absolument que D15 et D17 soient remplis.
> Je vous remercie. YANN
> ------
> Private Sub Workbook_Open()
> If Sheets("DA").[d17] <> "" Then
> Exit Sub
> End If
> reponse = InputBox("Entrez vos initiales", Application.UserName)
> If reponse = "" Then
> Application.DisplayAlerts = False
> Application.Application.Quit
> End If
> Sheets("DA").[d17] = reponse
> If Sheets("DA").[d15] <> "" Then
> Exit Sub
> End If
> reponse = InputBox("Entrez les initiales de l'Expert",
> Application.UserName)
> If reponse = "" Then
> Application.DisplayAlerts = False
> Application.Application.Quit
> End If
> Sheets("DA").[d15] = reponse
> End Sub
> -----------