vba02
Messages postés5Date d'inscriptionmardi 25 octobre 2011StatutMembreDernière intervention25 octobre 2011
-
25 oct. 2011 à 12:09
bigfish_le vrai
Messages postés1835Date d'inscriptionvendredi 13 mai 2005StatutMembreDernière intervention20 novembre 2013
-
25 oct. 2011 à 16:49
Bonjour,
J'ai commencé à écrire un code vba. je dois afficher un message qui invite à saisir un nom. si je clique sur OK, cel enregistre le nom dans un fichier en .txt
si je clique sur annuler, le programme affiche un message 'Fin du programme"
et si je clique sur ok et que je n'ai pas entré de nom, le programme doit afficher un message d'alert "Erreur, le nom est vide".
Pourriez vous m'aider svp?
Merci d'avance
Dim Input As Variant
Input = InputBox("Tapez votre nom ?","Identité",0)
If Input<> "" Then
Dim tt, ff
Const ForReading = 1
Set tt = CreateObject("Scripting.FileSystemObject")
Set ff = tt.CreateTextFile("F:\test.txt", True)
ff.WriteLine (Input)
If VarType(Input) = vbBoolean Then
MsgBox " Fin du programme"
End If
End If
ucfoutu
Messages postés18038Date d'inscriptionlundi 7 décembre 2009StatutModérateurDernière intervention11 avril 2018211 25 oct. 2011 à 12:20
Bonjour,
je ne suis là qu'en raison de ton titre et vais Y REPONDRE :
Pour "écrire en VBA", on le fait depuis l'éditeur de VBA !
Je refuse de lire le reste, bien évidemment.
____________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches d'autres forumeurs.
Pas d'aide en ligne installée ? ==> ne comptez pas sur moi pour simplement vous dire ce qu'elle contient
ucfoutu
Messages postés18038Date d'inscriptionlundi 7 décembre 2009StatutModérateurDernière intervention11 avril 2018211 25 oct. 2011 à 12:34
On n'écrit pas du code VBA depuis le bloc-notes, mais depuis l'éditeur de VBA.
____________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches d'autres forumeurs.
Pas d'aide en ligne installée ? ==> ne comptez pas sur moi pour simplement vous dire ce qu'elle contient
NHenry
Messages postés15102Date d'inscriptionvendredi 14 mars 2003StatutModérateurDernière intervention27 mars 2024159 25 oct. 2011 à 12:55
Bonjour,
ucfoutu +1
Concernant le code fourni, et rapidement :
- Pour les opérations simples sur les fichiers, ne pas utiliser FSO, mais plutôt l'instruction OPEN et autres.
- InputBox te retourne une chaine vide quand on clique sur annuler, donc, il est difficile de faire la distinction entre annuler et chaine vide.
(Un test entre Nothing ou vbnullstring pourrais peut être t'aider, je crois, mais pas sûr).
---------------------------------------------------------------------
[list=ordered][*]Pour poser correctement une question et optimiser vos chances d'obtenir des réponses, pensez à lire le règlement CS et aussi ce lien[*]Quand vous postez un code, merci d'utiliser la coloration syntaxique (3ième icône en partant de la droite : )
[*]Si votre problème est résolu (et uniquement si c'est le cas), pensez à mettre "Réponse acceptée" sur le ou les messages qui vous ont aidés./list ---
Mon site
Vous n’avez pas trouvé la réponse que vous recherchez ?
ucfoutu
Messages postés18038Date d'inscriptionlundi 7 décembre 2009StatutModérateurDernière intervention11 avril 2018211 25 oct. 2011 à 13:43
C'est notre prof d'info qui vient de nous montrer avec le bloc note...
S'il l'a fait, il doit avoir ses raisons (assez étranges, mais bon ...). Dans quelles circonstances et pourquoi ? Un tel code ne saurait de toutes manières être applicable si non ensuite copié-collé d'une manière ou de l'autre depuis l'éditeur VBA. A moins que (et ce ne semble vraiment pas être le cas compte tenu du niveau de ce que tu montres) le "prof" en soit déjà à vous enseigner d'autres choses, telles l'ajout dynamique de code, qui passerait par la lecture de fichiers textes (et ce serait là alors un pur exercice de travaux pratiques, que tu voudras bien faire dans un tel cas seul !)
____________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches d'autres forumeurs.
Pas d'aide en ligne installée ? ==> ne comptez pas sur moi pour simplement vous dire ce qu'elle contient
vba02
Messages postés5Date d'inscriptionmardi 25 octobre 2011StatutMembreDernière intervention25 octobre 2011 25 oct. 2011 à 13:58
Il nous a donner un power point issu de site internet. Il nous donne des parties de code. Malgre cela je ne m`en sors pas. Sans bases ce n'est pas facile.
J'ai essaye vbnullstring et nothing mais ca ne fonctionne pas.
NHenry
Messages postés15102Date d'inscriptionvendredi 14 mars 2003StatutModérateurDernière intervention27 mars 2024159 25 oct. 2011 à 14:03
Bonjour,
Comment as-tu testé ?
Comme je l'ai dit, je doutais de cette possibilité, mais je ne l'ai jamais essayée.
---------------------------------------------------------------------
[list=ordered][*]Pour poser correctement une question et optimiser vos chances d'obtenir des réponses, pensez à lire le règlement CS et aussi ce lien[*]Quand vous postez un code, merci d'utiliser la coloration syntaxique (3ième icône en partant de la droite : )
[*]Si votre problème est résolu (et uniquement si c'est le cas), pensez à mettre "Réponse acceptée" sur le ou les messages qui vous ont aidés./list ---
Mon site
Calade
Messages postés1207Date d'inscriptiondimanche 20 avril 2003StatutMembreDernière intervention 4 juin 201610 25 oct. 2011 à 15:16
Bonjour à tous,
Dim Input As Variant
Si je puis me permettre, il vaudrait mieux:
Dim strInput as String (j'ai changé le nom de la variable pour lever toute ambiguïté potentielle avec un mot réservé, de plus il vaut mieux la nommer en fonction de son type).
La fonction InputBox renverra SYSTEMATIQUEMENT une chaîne de caractères, donc tu ne pourras que la tester à "" (donc vide).
Cette fonction est vraiment basique de chez basique, donc à moins d'y être obligé par ton prof', tu peux la bannir.
Utilises plutôt un TextBox à la place.