VBA:documents à remplir et à cocher

9mappe1.xlsx (24.32 Ko)

Bonjour,

je souhaite créer un code vba pour cet exemple. (Voir fichier)

les champs marqués en rouge doivent être remplis avant de fermer le fichier Excel.

les champs jaunes doivent effectivement être cochés, peu importe si 1, 2 ou 3 ont été cochés, l'important est qu'un champ ait été coché.

Si les deux points ne sont pas remplis, la fermeture des fichiers Excel n'est plus possible.

si quelqu'un peut m'aider je serais très reconnaissant

Bonsoir,

Un début de réponse.

Cordialement.

11mappe1.xlsm (27.58 Ko)

Bonjour et merci pour votre aide

Le code que vous m'avez envoyé ne fonctionne pas pour sélectionner l'une des quatre propositions (rouge, verte, jaune et inutile).

J'ai apporté une nouvelle modification à ce tableau Excel.

j'ai utilisé le dropdown pour sélectionner rapidement 1 de ces 4 choix.Maintenant c'est plus simple mais le programme ne fonctionne pas sur ce classeur excel .

Ici, il suffit de remplir les champs rouges avant de fermer.

Je serais très heureux si vous pouvez encore m'aider.

6tabelle2-f.xlsm (20.18 Ko)
11

Bonjour,

Il faut placer la macro au niveau du classeur avec l'option avant fermeture Workbook_BeforeClose

Je l'ai écrite pour le premier pavé, je te laisse continuer pour le reste.

Cordialement.

10tabelle2-f.xlsm (21.13 Ko)

Bonjour,

Est-ce que cela fonctionne aussi de la même manière pour la liste dropdown ? Les macros n'acceptent pas la phrase que j'ai marquée en rouge ci-dessous.

merci

Option Explicit

Private Sub Workbook_BeforeClose(Cancel As Boolean)

If Range("_Nom") = "" Then

MsgBox "Saisir un nom."

Cancel = True

ElseIf Range("_Prenom") = "" Then

MsgBox "Saisir un prénom."

Range("_Prenom").Activate

Cancel = True

ElseIf Range("_Tel") = "" Then

MsgBox "Saisir un n° de téléphone."

Range("_Tel").Activate

Cancel = True

ElseIf Range("_Adresse") = "" Then

MsgBox "Saisir une adresse."

Range("_Adresse").Activate

Cancel = True

ElseIf Range("_ID") = "" Then

MsgBox "Saisir une ID."

Range("_ID").Activate

Cancel = True

ElseIf Range("_Projet") = "" Then

MsgBox "Saisir un Projet."

Range("_Projet").Activate

Cancel = True

ElseIf Range("_Projekt no") = "" Then

MsgBox "Saisir une no."

Range("_Projekt no").Activate

Cancel = True

ElseIf Range("_Date") = "" Then

MsgBox "Saisir une Date."

Range("_Date").Activate

Cancel = True

ElseIf Range("_D-Ob") = "" Then

MsgBox "Saisir D-Ob."

Range("_D-Ob").Activate

Cancel = True

ElseIf Range("_Machine") = "" Then

MsgBox "Saisir Machine."

Range("_Machine").Activate

Cancel = True

End If

End Sub

Re,

Avec le fichier, cela sera plus facile.

Cordialement

4tabelle2-f-1.xlsm (21.99 Ko)

Dans mon message précédent, j'ai indiqué :

Je l'ai écrite pour le premier pavé, je te laisse continuer pour le reste.

Il faut donc nommer les différents champs et écrire la macro qui va bien.

Cordialement.

Rechercher des sujets similaires à "vba documents remplir cocher"