HerwinPew
Messages postés11Date d'inscriptionjeudi 14 octobre 2010StatutMembreDernière intervention25 novembre 2010
-
29 oct. 2010 à 09:31
jordane45
Messages postés38145Date d'inscriptionmercredi 22 octobre 2003StatutModérateurDernière intervention25 avril 2024
-
2 nov. 2010 à 12:39
Bonjour,
Je suis grand débutant en macro, et j'ai crée mon premier bébé.
Et grâce à l'aide de certains de ce forum, il marche :)
Il marche oui, mais je voudrais le faire courir.
En d'autres termes perfectionner ma macro, je voudrais pouvoir gérer les erreurs etc... que tout soit net.
Le problème c'est qu'en se perfectionnant, ma macro a pris du poids et je commence à avoir du mal à gérer la suite.
J'aimerais savoir comment organiser ma macro avec des étiquettes par exemple (j'ai des souvenirs de la programmation sur Ti 89 où on pouvait créer des étiquettes).
Comment créer des sous-programmes dans ma macro ?
Et comment les gérer ? (faire des "resume" et des liens vers ces sous programmes qui marchent)
Par exemple, j'ai une inputbox dans ma macro, je voudrais créer un bouton "précédent" et pouvoir gérer le fait que lorsqu'on entre un mauvais nom de fichier, un message s'affiche disant "mauvais nom" et qu'il y ait un retour à la procédure initiale puis une reprise du processus.
Merci d'avance pour votre aide !
P.S. j'ai fait des recherches sur google notamment et n'ai rien trouvé de clair dessus.
jordane45
Messages postés38145Date d'inscriptionmercredi 22 octobre 2003StatutModérateurDernière intervention25 avril 2024344 29 oct. 2010 à 13:52
Bonjour,
L'utilisation d'étiquettes en VBA est possible (ah..oui..moi aussi j'aimais bien les TI ^^ )
L'appel d'une étiquette se fait avec l'instruction GOTO nom_etiquette
Et la "déclaration" d'une étiquette avec la syntaxe Nom_etiquette:
Par contre, pour découper ton programme je te conseillerai plutot l'utilisation de Fonctions.
Exemple :
Sub Principal()
teste = InputBox("entrez OUI ou autre chose ^^", "Test")
If teste = "OUI" Then
a = test1()
Else
b = test2()
End If
End Sub
Function test1()
MsgBox "test1"
End Function
Function test2()
MsgBox "test2"
End Function
Cordialement,
Jordane,
______________________________________________________
Règles du forum à lire avant de poster une question : ICI
cs_Orohena
Messages postés577Date d'inscriptionvendredi 26 septembre 2008StatutMembreDernière intervention20 novembre 20104 30 oct. 2010 à 01:38
Bonjour
En bonus, voici comment boucler sur la saisie d'un nom de fichier jusqu'à ce que le fichier saisi soit correct (par exemple, qu'il y ait un fichier de ce nom dans le répertoire Mes Documents) :
Function SaisieNomFichier() As String
mauvaisNom = True
Do While mauvaisNom
nomFichier = InputBox("Nom du fichier : ")
if Dir(nomFichier) = "" then
MsgBox "Nom de fichier incorrect"
Else
mauvaisNom = False
Loop
SaisieNomFichier = nomFichier
End Function
jordane45
Messages postés38145Date d'inscriptionmercredi 22 octobre 2003StatutModérateurDernière intervention25 avril 2024344 2 nov. 2010 à 12:39
Bonjour,
En bonus n°2 : voici comment remplacer ton InputBox par une fenetre qui te permet d'aller parcourir tes dossiers pour trouver ton fichier (comme si tu faisais : fichier / ouvrir)