[VBA/Excel] activation d'un fichier ouvert
Fermé
Bonjour
apres l'ouveture d'un fichier excel sous vb, je souhaite maintenant l'activé pour pouvoir executer la suite de mon programme.
j'ai utilisé l'instruction suivante
Workbooks(Chemin).Activate
ou chemin represente le fichier ouvert
a l'execution ca me donne sub ou function non definie
je ne sais pas comment resoudre se probleme.
aidez moi je vous en prie
apres l'ouveture d'un fichier excel sous vb, je souhaite maintenant l'activé pour pouvoir executer la suite de mon programme.
j'ai utilisé l'instruction suivante
Workbooks(Chemin).Activate
ou chemin represente le fichier ouvert
a l'execution ca me donne sub ou function non definie
je ne sais pas comment resoudre se probleme.
aidez moi je vous en prie
A voir également:
- Vba activer un classeur déjà ouvert
- Comment activer windows 10 - Guide
- Activer chromecast - Guide
- Cette action ne peut pas être réalisée car le fichier est ouvert dans system - Guide
- Activer office gratuitement - Accueil - Bureautique
- Activer pavé tactile windows 10 - Guide
7 réponses
J'ai un pb similaire.
Je souhaiterais activer des windows dont le nom est variable.
Exple:
Dim z As String
z = "un nom qui va varier dans mon programme"
Activate(z).Activate
'Mais vous vous doutez que cette solution ne marche pas... HELP PLEASE?
Je souhaiterais activer des windows dont le nom est variable.
Exple:
Dim z As String
z = "un nom qui va varier dans mon programme"
Activate(z).Activate
'Mais vous vous doutez que cette solution ne marche pas... HELP PLEASE?
Utilisateur anonyme
16 juil. 2007 à 14:26
16 juil. 2007 à 14:26
Bonjour,
suggestion :
Lupin
suggestion :
Option Explicit ' Sub cmdTrouver_Click() Dim Chemin As String, Reponse As Boolean Dim Classeur_Maitre As String Dim Classeur_Slave As String Classeur_Maitre = ActiveWorkbook.Name Chemin = CurDir & "\Économie.xls" Reponse = Application.Dialogs(xlDialogOpen).Show 'txtChemin.Text = Chemin If (Reponse) Then Classeur_Slave = ActiveWorkbook.Name 'fmChoixTypeErreur.Show Workbooks(Classeur_Maitre).Activate MsgBox ActiveWorkbook.Name & vbLf & Range("A1").Value Workbooks(Classeur_Slave).Activate MsgBox ActiveWorkbook.Name & vbLf & Range("A1").Value Else MsgBox "Aucune ouverture de fichier!" End If End Sub '
Lupin
non j'ai mis cette instruction dans un sub commancé par un bouton.
mais je pense que le probeme viens de workbooks.je pense qu'il ne connais pas
mais je pense que le probeme viens de workbooks.je pense qu'il ne connais pas
Erdnax
Messages postés
2273
Date d'inscription
mercredi 1 octobre 2003
Statut
Contributeur
Dernière intervention
1 octobre 2007
497
26 mai 2005 à 11:12
26 mai 2005 à 11:12
Est-ce que tu peux nous copier ton code ici ???
Ca aiderait vachement ! ;)
Ca aiderait vachement ! ;)
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Private Sub cmdTrouver_Click()
Chemin = OpenFileDialog("Choississez un fichier...", "Mon fichier (*.xls)" + Chr$(0) + "*.xls" & Chr$(0), OFN_HIDEREADONLY, CurDir, Me.hwnd, App.hInstance)
txtChemin.Text = Chemin
ShellExecute Me.hwnd, "open", Chemin, vbNullString, Chemin, SW_SHOWNORMAL
Workbooks(Chemin).Activate
'fmChoixTypeErreur.Show
End Sub
en fait je veux que le fichier ouvert soit directement actif.
car dans la suite de mon programme j'ai des range par rapport a un tableau se trouvant sur le fichier ouvert
Chemin = OpenFileDialog("Choississez un fichier...", "Mon fichier (*.xls)" + Chr$(0) + "*.xls" & Chr$(0), OFN_HIDEREADONLY, CurDir, Me.hwnd, App.hInstance)
txtChemin.Text = Chemin
ShellExecute Me.hwnd, "open", Chemin, vbNullString, Chemin, SW_SHOWNORMAL
Workbooks(Chemin).Activate
'fmChoixTypeErreur.Show
End Sub
en fait je veux que le fichier ouvert soit directement actif.
car dans la suite de mon programme j'ai des range par rapport a un tableau se trouvant sur le fichier ouvert
Bonjour,
J'ai un probleme , et j'aimerais que tu me donne un coup de main.
J'ai dans une cellule un chronometre( qui affiche le temsp qui passe sous forme : HH:MM:SS) .Dans une autre cellule je rentre une heure quelconque.
Puis dans une troisieme cellule, je fais la difference pour avoir le temps écoulé.
probleme:
Je voudrais mettre une condition sur la cellule qui affcihe le temps écoulé, de sorte qu'elle ne lance le décompte que :
solutions envisagées:
1) si l'heure affichée par la cellule chrono est comprise entre les heures d'ouverture
2) ou que le decompte soit uniquement activé dés l'ouverture du fichier.
Merci de ton aide.....
J'ai un probleme , et j'aimerais que tu me donne un coup de main.
J'ai dans une cellule un chronometre( qui affiche le temsp qui passe sous forme : HH:MM:SS) .Dans une autre cellule je rentre une heure quelconque.
Puis dans une troisieme cellule, je fais la difference pour avoir le temps écoulé.
probleme:
Je voudrais mettre une condition sur la cellule qui affcihe le temps écoulé, de sorte qu'elle ne lance le décompte que :
solutions envisagées:
1) si l'heure affichée par la cellule chrono est comprise entre les heures d'ouverture
2) ou que le decompte soit uniquement activé dés l'ouverture du fichier.
Merci de ton aide.....
Erdnax
Messages postés
2273
Date d'inscription
mercredi 1 octobre 2003
Statut
Contributeur
Dernière intervention
1 octobre 2007
497
26 mai 2005 à 11:36
26 mai 2005 à 11:36
En fait je me demande si le fait que la macro soit dans un calsseur ne prends pas en compte la feuille ou cellule active du classeur même, à moins d'une instructions spéciale.
Donc pour la suite, je te conseil de mettre Workbooks(chemin).sheets("Feuil1").range... etc, mais je ne suis pas sûr.
En espérant que quelqu'un apporte un peu plus de précision sur le sujet.
@+
Donc pour la suite, je te conseil de mettre Workbooks(chemin).sheets("Feuil1").range... etc, mais je ne suis pas sûr.
En espérant que quelqu'un apporte un peu plus de précision sur le sujet.
@+
Erdnax
Messages postés
2273
Date d'inscription
mercredi 1 octobre 2003
Statut
Contributeur
Dernière intervention
1 octobre 2007
497
26 mai 2005 à 10:53
26 mai 2005 à 10:53
Salut,
Est-ce que tu as mis tout ton code là ou il en manque un bout ? Parce que si tu ne précise pas de Sub, il est normal que cela ne fonctionne pas...
@+
Est-ce que tu as mis tout ton code là ou il en manque un bout ? Parce que si tu ne précise pas de Sub, il est normal que cela ne fonctionne pas...
@+