× Aidez la recherche contre le COVID-19 avec votre ordi ! Rejoignez l'équipe PC Astuces Folding@home
 > Tous les forums > Forum Bureautique
 VBA - deux questions pour le prix d'uneSujet résolu
Ajouter un message à la discussion
Page : [1] 
Page 1 sur 1
fth
  Posté le 07/02/2008 @ 03:05 
Aller en bas de la page 
Petit astucien

Bonjour à tous,

1ère question : est-il possible dans une boucle For...Next d'écrire un truc du genre

For x = 1 To 10 (et) 20 To 25 (et) 35 To 40.............Next

Si c'est réalisable, je ne trouve pas quoi mettre à la place des (et)

2ème question : j'ai par exemple 3 macros dans un module (Macro1, Macro2 et Macro3)

Dans une 4ème macro, je déclare que X = 2 (ou 1 ou 3), à partir de là je souhaite lancer la MacroX

J'ai essayé Macro & X ou X (en déclarant plus haut X = "Macro" & 2) mais ça ne marche pas, comment faut-il l'écrire ?

Merci de vous être penché sur mon cas

@+

Publicité
galopin01
 Posté le 07/02/2008 à 03:22 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Astucien

Salut,

Pour la question 2 :

Ben, les select case c'est fait pourquoi à ton avis ?

A+



Modifié par galopin01 le 07/02/2008 03:24
galopin01
 Posté le 07/02/2008 à 03:29 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Astucien

Pour la question 1 :

avec une boucle For : Non

utilise For Each...

A+

gilbert_rgi
 Posté le 07/02/2008 à 10:06 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Astucien

Bonjour

essaie ça

Sub macro1()
MsgBox "macro1"
End Sub
Sub macro2()
MsgBox "macro2"
End Sub
Sub macro3()
MsgBox "macro3"
End Sub
Sub lancement()

x = 1
With Application
.Run "macro" & x

End With

End Sub

Cdlt

RGI

fth
 Posté le 07/02/2008 à 10:18 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien

galopin01 a écrit :

Salut,

Pour la question 2 :

Ben, les select case c'est fait pourquoi à ton avis ?

A+


Bonjour,

Merci de m'avoir répondu si tôt

Ok pour Select Case mais ça ne répond pas à ma question, ou alors ya un truc que je pige pas.

gilbert_rgi
 Posté le 07/02/2008 à 10:22 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Astucien

moi je ferai un truc du genre

Sub essai()
For x = 1 To 10
GoSub suite
Next
For x = 20 To 25
GoSub suite
Next
For x = 35 To 40
GoSub suite
Next
suite:
MsgBox x
On Error GoTo fin
Return
fin:
End Sub

fth
 Posté le 07/02/2008 à 10:24 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien

Bonjour Gilbert,

merci c'est ça que je cherchais Application.Run "Macro" & x

Merci à vous deux pour vos réponses et bonne journée

@+

fth
 Posté le 07/02/2008 à 10:39 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien

gilbert_rgi a écrit :

moi je ferai un truc du genre ok mais là je trouve que ça complique par rapport au classique

Sub essai()
For x = 1 To 10 For X1 = 1 To 10
GoSub suite .....
Next Next
For x = 20 To 25 For X2 = 20 To 25
GoSub suite .....
Next Next
For x = 35 To 40 For X3 = 35 To 40
GoSub suite .....
Next Next
suite: etc...
MsgBox x
On Error GoTo fin
Return
fin:
End Sub


Merci, je vais voir avec For Each ce que ça donne bien que je vois toujours pas comment écrire 1 To 10 (et) 20 To 25 (et) 35 To 40 sinon bin...je m'en tiens à ma première version

gilbert_rgi
 Posté le 07/02/2008 à 10:53 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Astucien

fth a écrit :

gilbert_rgi a écrit :

moi je ferai un truc du genre ok mais là je trouve que ça complique par rapport au classique

Sub essai()
For x = 1 To 10 For X1 = 1 To 10
GoSub suite .....
Next Next
For x = 20 To 25 For X2 = 20 To 25
GoSub suite .....
Next Next
For x = 35 To 40 For X3 = 35 To 40
GoSub suite .....
Next Next
suite: etc...
MsgBox x
On Error GoTo fin
Return
fin:
End Sub


Merci, je vais voir avec For Each ce que ça donne bien que je vois toujours pas comment écrire 1 To 10 (et) 20 To 25 (et) 35 To 40 sinon bin...je m'en tiens à ma première version


gosub suite ne veut pas dire "suite de la procédure" mais "va à l'étiquette suite :"

suite: c'est l'etiquette et non suite....etc

ce qui permet justement de garder la même variable x



Modifié par gilbert_rgi le 07/02/2008 10:55
Publicité
fth
 Posté le 07/02/2008 à 11:28 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien

Oui oui j'avais bien compris (enfin je pense ), c'est vrai que tu fais une économie du nombre de variables à déclarer mais je cherchais surtout un moyen d'éviter de devoir réécrire 30 fois For...Next si j'ai 30 petites macros différentes à lancer.

Par contre je ne connaissais pas Return, je le met de côté ça va me resservir

Bérylion
 Posté le 07/02/2008 à 16:59 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Astucien

Message original par fth

Bonjour à tous,

1ère question : est-il possible dans une boucle For...Next d'écrire un truc du genre

For x = 1 To 10 (et) 20 To 25 (et) 35 To 40.............Next

Si c'est réalisable, je ne trouve pas quoi mettre à la place des (et)




Sub test()
A = Array(1, 10, 20, 25, 35, 40)
For i = 1 To UBound(A) Step 2
For j = A(i - 1) To A(i)
MsgBox j
Next
Next
End Sub






fth
 Posté le 07/02/2008 à 17:25 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien

Wonderfull , merci Bery

Encore merci à tous pour vos solutions qui me permettent de continuer à taper sur le clou

gilbert_rgi
 Posté le 07/02/2008 à 18:22 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Astucien

Bérylion a écrit :

Message original par fth

Bonjour à tous,

1ère question : est-il possible dans une boucle For...Next d'écrire un truc du genre

For x = 1 To 10 (et) 20 To 25 (et) 35 To 40.............Next

Si c'est réalisable, je ne trouve pas quoi mettre à la place des (et)




Sub test()
A = Array(1, 10, 20, 25, 35, 40)
For i = 1 To UBound(A) Step 2
For j = A(i - 1) To A(i)
MsgBox j
Next
Next
End Sub







Bravo genial

Bérylion
 Posté le 08/02/2008 à 21:16 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Astucien


j'ai voulu utiliser cette méthode aujourd'hui mais j'ai été bien (mais pas longtemps ) à cause des bornes des intervalles !!...

je vous refile la soluce en passant :

Sub test()
A = Array(-15,-20,-10, -5, -1, 1, 5, 10, 20, 15)
For i = 1 To UBound(A) Step 2
For j = A(i - 1) To A(i) Step Abs(A(i) - A(i - 1)) / (A(i) - A(i - 1))
MsgBox j
Next
Next
End Sub


fth
 Posté le 09/02/2008 à 02:41 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien

aah bin normal que tu as pu te débloquer avec l'ajout d'un AntiBlockierSystem
Page : [1] 
Page 1 sur 1

Vous devez être connecté pour poster des messages. Cliquez ici pour vous identifier.

Vous n'avez pas de compte ? Créez-en un gratuitement !


Les bons plans du moment PC Astuces

Tous les Bons Plans
23,99 €Jeu PC Star Wars: Squadrons à 23,99 €
Valable jusqu'au 27 Novembre

Amazon propose actuellement le tout nouveau jeu PC Star Wars: Squadrons à 23,99 €. Le code du jeu vous serra envoyé par email et vous pourrez le télécharger sur Origin. Maîtrisez l’art du combat entre chasseurs dans une authentique expérience de pilotage avec Star Wars: Squadrons. Attachez votre ceinture et ressentez toute l’adrénaline de combats spatiaux multijoueurs à la première personne aux côtés de votre escadron. Les pilotes qui s’engageront se retrouveront aux commandes des chasseurs de la Nouvelle République et de l’Empire et combattront dans des combats spatiaux stratégiques en 5 contre 5. Modifiez votre chasseur, ajustez la composition de votre escadron en fonction de styles de jeu variables et éliminez vos adversaires. Les pilotes triompheront en équipe et accompliront des objectifs tactiques sur des champs de bataille connus et inédits, dont la géante gazeuse Yavin Prime et la lune brisée de Galitan.

Prenez le contrôle de chasseurs comme le X-Wing et le chasseur TIE. Personnalisez les équipements et l’apparence, répartissez la puissance entre les armes, les boucliers et les moteurs tout en vous installant dans le cockpit. De plus, les joueurs pourront jouer à l’intégralité du jeu en réalité virtuelle sur PS VR et PC !


> Voir l'offre
39,99 €Just Dance 2021 (Switch, Xbox One et PS4) à 39,99 €
Valable jusqu'au 27 Novembre

Amazon fait une promotion sur le jeu Just Dance 2021 pour Switch, Xbox One et PS4 qui passe à 39,99 € livré gratuitement au lieu de 50 €. Just dance 2021 propose plus de 40 nouveaux hits et vous permet d'utiliser votre smartphone comme manette avec l'application Just Dance Controller.


> Voir l'offre
44,87 €Carte mémoire microSDXC UHS-I SanDisk Ultra 400 Go à 44,87 € livrée
Valable jusqu'au 27 Novembre

Amazon Allemagne propose la carte mémoire microSDHC UHS-I SanDisk Ultra 400 Go à 40,33 € (avec la TVA ajustée). Comptez 4,54 € pour la livraison en France, soit un total de 44,87 € livrée en France. On la trouve trouve ailleurs à partir de 80 €. Cette carte mémoire offre des vitesses jusqu'à 100 Mo/s et est idéale pour les téléphones, caméras et appareils photo HD. Elle est certifiée GoPro, Nintendo Switch et est accompagnée d'un adaptateur SD. 

Vous pouvez utiliser votre compte Amazon France sur Amazon Allemagne et il n'y a pas de douane. Si vous êtes perdu en allemand, vous pouvez traduire le site en anglais.


> Voir l'offre

Sujets relatifs
Comparaison de deux tableaux EXCEL pour voir les nouveaux adhérents
Formule pour calculer l'écart entre deux dates
deux questions sur outlook 2010
Aide pour deux ecrans
Formule pour comparer deux dates
MACRO POUR CALCULER DEUX COLONNES SUIVANT CRITERE
Questions-Réponses pour Drive Image ( Résolu )
Un écran pour deux PC
Formule pour somme avec deux critères
Questions pour un champions!
Plus de sujets relatifs à VBA - deux questions pour le prix d''une
 > Tous les forums > Forum Bureautique