Bonjour,
J'ai déjà la commande suivante :
Private Sub Workbook_Open()
If IsEmpty(Sheets("Suivi de mandat").Range("E6").Value) Then
Dim d1
d1 = InputBox(" Veuillez inscrire l'année que vous produisez", "Fin d'année", "2012")
Range("B10") = d1
End If
End Sub
Mais je veux ajouter des champs pour les cellules E10, E12, E14 et E16 comment faire ?
Voir si cela t'inspire (en attendant un fichier Exemple)
Code:
If (Len([E6]) + Len([E10]) + Len([E12]) + Len([E14]) + Len([E16])) = 0 Then
Range("B10") = InputBox(" Veuillez inscrire l'année que vous produisez", "Fin d'année", "2012")
End If
effectivement, peut être que c'est cela qu'il veut, tester les cellules !
j'ai été un peu perturbé par "Mais je veux ajouter des champs . . ." ajouter !?
il aurait dit tester les cellules ... ok !
Dans le fond je veux un formulaire qu'il ouvre si la cellule E6 de la feuille "Suivi de mandat" est vide
Formulaire
ligne 1 Date du jour = la réponse va dans la cellule E6
ligne 2 Associé responsable = la réponse va dans la cellule E10
ligne 3 Numéro de dossier = la réponse va dans la cellule E12
ligne 4 Nom du client = la réponse va dans la cellule E14
ligne 5 Fin de l'exercice = la réponse va dans la cellule E16
J'espère être plus clair maintenant et j'ai aussi joint mon fichier en annexe.
Donc dans un formulaire ( cad un userform), 5 TextBox, un CommandButton
et le code ci-dessous
Code:
Private Sub CommandButton1_Click()
Dim tL, i%
tL = Array(6, 10, 12, 14, 16)
If Len([E6]) = 0 Then
For i = 0 To UBound(tL)
Cells(tL(i), "E") = _
IIf(Cells(tL(i), "E") = Empty, Me("TextBox" & i + 1), vbNullString)
Next i
End If
End Sub
Mon petit Francis, je te laisse le soin de créer l'userform et les contrôles idoines pour tester le code ci-dessus.
fmoore
Le bouton est sur le Userform (Il s'appelle CommandButton1)
Les TextBox sont sur le userform
Donc le code VBA que je t'ai soumis devrait être dans .... (je te laisse deviner la suite )
Et ce conseil reste toujours valide
(si difficultés, faire recherche sur le net, il y a plein de tutoriels à ce sujet)
Avec vos dernier indice j'ai bien réussi a faire ma commande la seul chose qui me manque est mon champ 1 du formulaire j'aimerais que par défaut il inscrit la date du jour (mais que je peux quand même changer au besoins). J'ai pensé à la commande now() mais comment l'incorporer.
Soit dit en passant dans le vrai fichier il va avoir beaucoup de page mais la feuille qui doit être changer avec mon formulaire va être la première donc j'imagine que sa ne causera pas de problème ?
Si ce n'est pas exagéré je viens d'avoir la demande que quand je click sur le bouton valider en plus de faire la commande tu ma inscris plus tôt sa fais aussi enregistrer sous et va dans mon emplacement réseau intitulé p:.
je viens d'avoir la demande que quand je click sur le bouton valider en plus de faire la commande tu ma inscris plus tôt sa fais aussi enregistrer sous et va dans mon emplacement réseau intitulé p:.
Pour ce genre demande, pensez à passer d'abord par le macro-recorder
(Onglet DEVELOPPEUR/Enregistrer une macros
ou sur autres versions Excel Outils/Macros/Nouvelle macro
Donc tu fais manuellement cette demande, tout en laissant tourner l'enregistreur et au final tu auras obtenu par toi-même le code VBA désiré