Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Excel > Macros et VBA Excel
Macros et VBA Excel Vos questions relatives aux macros Excel, à l'utilisation de VBA et à l'automatisation de vos classeurs Excel.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
Vieux 29/06/2009, 15h51   #1
Invité régulier
 
Inscription : septembre 2008
Messages : 55
Détails du profil
Informations forums :
Inscription : septembre 2008
Messages : 55
Points : 9
Points : 9
Par défaut Etiquette go to

bonjour, je sais, c'est crade, c'est pas beau, c'est cracra, mais je vais utiliser un GOTO, bête noir, diable codifié (à défaut de personifié).

Je souhaiterais savoir, vu que j'en ai jamais utiliser et que je suis totalement novice en la matière (), je souhaiterais savoir :
Si je fais un goto sur une étiquette quelconque, comment fixer la fin de cette étiquette ? à quel moment le code va reprendre son cours normal...
Qwerty111 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/06/2009, 16h11   #2
Membre Expert
 
Avatar de Krovax
 
Inscription : juillet 2008
Messages : 1 889
Détails du profil
Informations personnelles :
Âge : 26

Informations forums :
Inscription : juillet 2008
Messages : 1 889
Points : 1 937
Points : 1 937
essaye ce code
Code :
1
2
3
4
5
msgbox "bonjour"
goto LeLabelDiabolique
msgbox "tu ne me verras pas"
LeLabelDiabolique::
msgbox "Te voila damné"
A cun moment le code reprend son cour normale ou plutot a aucun moment il ne le quitte c'est juste que en lisant goto quelque part et bien il saute directement quelque part et continue comme si de rien nétait

Après tu peux faire des truc moche

(je te prépare un jolie petit code et toi aussi tu n'aimera plus les goto )
Krovax est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/06/2009, 16h21   #3
Invité régulier
 
Inscription : septembre 2008
Messages : 55
Détails du profil
Informations forums :
Inscription : septembre 2008
Messages : 55
Points : 9
Points : 9
D'accord, donc essayer de faire un truc du genre ci dessous c'est juste complètement boulet si je comprend bien, ça marchera pas comme je veux en plus

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
 
function quifaitdeschoses(fichierDeDépart)
 
intructions : 
rechercher bidule dans le fichier de Départ
si tu trouve, exit function
 
if t'a rien trouvé then
trouve tous les fichiers du dossier avec condition sur le nom de fichiers
Ouvre et active le nouveau fichier, 
goto instructions
end if
end function
C'est beau ça tiens du vba algo français english
Enfin j'espère qu'on ma compris...
Je crois bien j'ai aussi vite fait de me faire une petit fonction à part. (Ce qui m'amène à une autre question, on peut faire une fonction dans une fonction ? Je pense que oui ... Et est-ce que faut quand même que je passe les variables en paramètres ou pas ? Je pense pas, mais jsuis presque encore novice en vba, donc vérifier est toujours bien )
Qwerty111 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/06/2009, 16h29   #4
Membre Expert
 
Avatar de Krovax
 
Inscription : juillet 2008
Messages : 1 889
Détails du profil
Informations personnelles :
Âge : 26

Informations forums :
Inscription : juillet 2008
Messages : 1 889
Points : 1 937
Points : 1 937
Oui c'est jolie ca s'apelle du pseudo code, c'est la base de tout programme. Si tu le monde sur le forum faisait ca ca permettrai de résoudre en 2 poste 75% des questions. (toute celles qui ne porte pas sur des syntaxe propre a VBA en fait)
Vu ton problème tu peux faire beaucoup plus simple, une boucle while avec un flag par exemple
Un lien vers un site qui est un très bon cours d'algorithmique

Regarde les structure qui sont donné tu les retrouve en VBA ca devrais t'aider a contruire ton algo

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
flag en booléen
flag=false 
faire tant que not flag
intructions : 
rechercher bidule dans le fichier de Départ
si tu trouve, flag=true
 
if t'a rien trouvé then
trouve tous les fichiers du dossier avec condition sur le nom de fichiers
Ouvre et active le nouveau fichier, 
flag=false
end if
fin tant que
Edit et oui si tu apelle une fonction dans une fonction biensur que tu doit passer tes variables en paramètres

Dernière modification par Krovax ; 29/06/2009 à 16h40.
Krovax est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/06/2009, 16h50   #5
Invité régulier
 
Inscription : septembre 2008
Messages : 55
Détails du profil
Informations forums :
Inscription : septembre 2008
Messages : 55
Points : 9
Points : 9
D'accord merci.

et pour la fonction, c'était plus pour savoir si on avait le droit de faire

Code :
1
2
3
4
function principale()
function secondaireImbriquée
end function
end function
Si c'est possible, les variables déclarer dans le principale doivent être accessible dans la seconde je pense ...
Enfin, si c'est possible de faire une fonction imbriquée. Jsais pas si ya bien un intérêt. Je vais méditer les flag
Qwerty111 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/06/2009, 16h55   #6
Membre Expert
 
Avatar de Krovax
 
Inscription : juillet 2008
Messages : 1 889
Détails du profil
Informations personnelles :
Âge : 26

Informations forums :
Inscription : juillet 2008
Messages : 1 889
Points : 1 937
Points : 1 937
non ca tu ne peux pas faire.
tu doit les déclarer a part ou alors tu met directement le code


Code :
1
2
3
4
5
6
7
function principale()
a=secondaireImbriquée
end function
 
 
function secondaireImbriquée
end function
Je croit que tu devrais lire le lien que je t'ai filé
Ca part des bases mais lit le en entier au pire quand c'est trop basique il reste amusant
Krovax est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/06/2009, 17h01   #7
Invité régulier
 
Inscription : septembre 2008
Messages : 55
Détails du profil
Informations forums :
Inscription : septembre 2008
Messages : 55
Points : 9
Points : 9
Je suis en train
Pas mal de truc que je connais effectivement, mais c'est vrai qu'il y a quelque truc sympa. Ce qu'est marrant, c'est que je sais faire un tri à bulles, mais je connaissais même pas le terme "flag".
Qwerty111 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +1. Il est actuellement 05h50.


 
 
 
 
Partenaires

Hébergement Web