A voir également:
- Activer 1 fichier dont lenom est une variable
- Fichier rar - Guide
- Fichier host - Guide
- Fichier iso - Guide
- Comment réduire la taille d'un fichier - Guide
- Ouvrir fichier .bin - Guide
8 réponses
Bonjour,
Soit fich le nom de la variable, fich est de type string.
fich="0010"
Windows("tri" & fich & ".xls").Activate ' equivalent a Windows("tri0010.xls").Activate
Salut
Soit fich le nom de la variable, fich est de type string.
fich="0010"
Windows("tri" & fich & ".xls").Activate ' equivalent a Windows("tri0010.xls").Activate
Salut
Bonjour,
La syntaxe est bonne, peux-tu me monter un extrait du code tel que tu l'as écrit et qui génère l'erreur.
A+.
La syntaxe est bonne, peux-tu me monter un extrait du code tel que tu l'as écrit et qui génère l'erreur.
A+.
Polux31
Messages postés
6917
Date d'inscription
mardi 25 septembre 2007
Statut
Membre
Dernière intervention
1 novembre 2016
1 204
18 mars 2008 à 20:17
18 mars 2008 à 20:17
Bonjour,
Et avec Workbooks("tri" & fich & ".xls").Activate
polux
Et avec Workbooks("tri" & fich & ".xls").Activate
polux
bonjour,
de mon côté, j'ai fait également des recherches question de comprendre ces notions de guillemets et de concaténation: à quoi ils servent et comment les utiliser? Finalement, j'ai trouver la solution.
Ce que j'avait avant était:
Sub Macro1 ()
'
'
'
Dim s, t, triXXXX, q
Dim user, XXXX
s = "Saisissez le nom de fichier dans lequel vous souhaitez travailler."
t = "Fichier de travail"
50 triXXXX = InputBox(s, t)
If (triXXXX = "") Then
q = "Voulez-vous vraiment arrêter les opérations?"
user = MsgBox(q, vbYesNo + vbQuestion)
If user = 6 Then
GoTo 40
Else
GoTo 50
End If
End If
Windows("tri" & XXXX & ".xls").Activate
...
40 end Sub
Et maintenant j'ai:
Sub Macro1 ()
'
'
'
Dim s, t, triXXXX, q
Dim user
s = "Saisissez le nom de fichier dans lequel vous souhaitez travailler."
t = "Fichier de travail"
50 triXXXX = InputBox(s, t)
If (triXXXX = "") Then
q = "Voulez-vous vraiment arrêter les opérations?"
user = MsgBox(q, vbYesNo + vbQuestion)
If user = 6 Then
GoTo 40
Else
GoTo 50
End If
End If
Windows(triXXXX & ".xls").Activate
...
40 end Sub
A bien y regarder, je crois que le problème se situait au niveau de la variable XXXX qui en fait n'existait dans l'algorithme. Vous m'avez été d'une aide non moins précieuse. Grâce à vous j'ai fait un pas de plus dans le processus d'auto apprentissage du langage VBA. Merci encore et bonne continuation dans votre initiative!
de mon côté, j'ai fait également des recherches question de comprendre ces notions de guillemets et de concaténation: à quoi ils servent et comment les utiliser? Finalement, j'ai trouver la solution.
Ce que j'avait avant était:
Sub Macro1 ()
'
'
'
Dim s, t, triXXXX, q
Dim user, XXXX
s = "Saisissez le nom de fichier dans lequel vous souhaitez travailler."
t = "Fichier de travail"
50 triXXXX = InputBox(s, t)
If (triXXXX = "") Then
q = "Voulez-vous vraiment arrêter les opérations?"
user = MsgBox(q, vbYesNo + vbQuestion)
If user = 6 Then
GoTo 40
Else
GoTo 50
End If
End If
Windows("tri" & XXXX & ".xls").Activate
...
40 end Sub
Et maintenant j'ai:
Sub Macro1 ()
'
'
'
Dim s, t, triXXXX, q
Dim user
s = "Saisissez le nom de fichier dans lequel vous souhaitez travailler."
t = "Fichier de travail"
50 triXXXX = InputBox(s, t)
If (triXXXX = "") Then
q = "Voulez-vous vraiment arrêter les opérations?"
user = MsgBox(q, vbYesNo + vbQuestion)
If user = 6 Then
GoTo 40
Else
GoTo 50
End If
End If
Windows(triXXXX & ".xls").Activate
...
40 end Sub
A bien y regarder, je crois que le problème se situait au niveau de la variable XXXX qui en fait n'existait dans l'algorithme. Vous m'avez été d'une aide non moins précieuse. Grâce à vous j'ai fait un pas de plus dans le processus d'auto apprentissage du langage VBA. Merci encore et bonne continuation dans votre initiative!
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
bonjour,
Effectivement, maintement c'est presque bon.
Je pensais que "tri" etait constant et que "XXXX" etait variable d'ou l'erreur.
Presque bon, parce que VB offre la possibilité de faire des programmes stucturés, sans utiliser les méthodes du GWBASIC avec plein de GOTO et des numéros de lignes.
Voila le meme programme mais avec des structures de blocs d'instructions.
C'est quand même plus lisible, non? Laisses tes vieilles habitudes , t'as tout à y gagner.
Salut.
Effectivement, maintement c'est presque bon.
Je pensais que "tri" etait constant et que "XXXX" etait variable d'ou l'erreur.
Presque bon, parce que VB offre la possibilité de faire des programmes stucturés, sans utiliser les méthodes du GWBASIC avec plein de GOTO et des numéros de lignes.
Voila le meme programme mais avec des structures de blocs d'instructions.
Sub Macro1 () Dim s, t, triXXXX, q Dim user s = "Saisissez le nom de fichier dans lequel vous souhaitez travailler." t = "Fichier de travail" q = "Voulez-vous vraiment arrêter les opérations?" do triXXXX = InputBox(s, t) If (triXXXX = "") Then user = MsgBox(q, vbYesNo + vbQuestion) If user = vbYes Then Exit Sub End If loop Windows(triXXXX & ".xls").Activate End Sub
C'est quand même plus lisible, non? Laisses tes vieilles habitudes , t'as tout à y gagner.
Salut.
Bonsoir,
j'aimerais pouvoir mettr fin à cette discussion, c'est-à-dire la marquer "problème résolu" mais comment faire?
Merci d'avance
j'aimerais pouvoir mettr fin à cette discussion, c'est-à-dire la marquer "problème résolu" mais comment faire?
Merci d'avance
18 mars 2008 à 08:55
merci pour la réponse malheureusement, elle ne marche pas: erreur d'éxécution '9'
Pouvez vous, en me répondant, m'expliquer également le principe de raisonnement?
Merci