Aide sur explorateur de document.
Résolu
MokonaN
-
MokonaN -
MokonaN -
Bonjour à tous,
Je vous contacte car mes nombreuses recherches n'ont pas aboutit. Je voulais savoir si vous pouvez m'aider dans cette opération.
Je souhaite faire un code qui me permet à partir de l'explorateur de document de sélectionner un classeur excel afin de pouvoir l'exploiter en récupérant des données dessus pour l'intégrer sur une feuille d'un autre classeur ( ou se trouve le code source de la macro).
Pour mes débuts j'ai déjà le code suivant :
Sub Ouvrirfenetre()
Dim MonDossier as String
Dim i as Integer
' je pensais utiliser le i dans une boucle for finalement je ne l'utilise pas
Dim flag as Boolean
Dim classeurcode, classeurouvert as Workbook
Set classeurcode = thisWorkbook
' ici je stipule que le classeur ouvert est le classeur ou se trouve la macro et je le nomme classeurcode
MonDossier =" T: chemin du document "
'je donne le chemin du document ou je veux chercher mes données j'ai vraiment besoin de cette étape car le document sur lequel je vais prendre les données n'est pas forcément le même ça dépend des années ect ...
flag = true
if len(Dir(MonDossier, vbDirectory)) > 0 then
Shell Environ ("WINDIR") & " \explorer.exe " & MonDossier, vbNormalFocus
' petite vérification de routine
end if
Do while flag
' ici je veux essayer de faire une boucle qui permet de stopper le code tant que l'utilisateur n'a pas sélectionné l'autre classeur excel malheureusement c'est cette étape que je n'arrive pas à faire
DoEvents
Loop
Set classeurouvert = ActiveWorkbook
' pour essayer autrement j'ai donc déclarer que le dernier classeur actif qui est normalement le classeur ouvert par l'utilisateur à partir de l'explorateur de dossier. Quand je compile tout mon code cela ne marche pas quand je fais étape par étape avec F8 dans ce contexte ça marche. L'objectif est tout de même que cela se face lors de la compilation complète du code.
classeurcode.worksheets("SYNTHESE").Range("F16").Value = classeurouvert.Worksheets(4). Range("H43").Value
' ici je prend la donnée nécessaire pour remplir ma feuille excel qui se trouve dans le classeurcode
end Sub
Je vous remercie d'avance pour vos éléments de réponse, et votre aide.
Je vous contacte car mes nombreuses recherches n'ont pas aboutit. Je voulais savoir si vous pouvez m'aider dans cette opération.
Je souhaite faire un code qui me permet à partir de l'explorateur de document de sélectionner un classeur excel afin de pouvoir l'exploiter en récupérant des données dessus pour l'intégrer sur une feuille d'un autre classeur ( ou se trouve le code source de la macro).
Pour mes débuts j'ai déjà le code suivant :
Sub Ouvrirfenetre()
Dim MonDossier as String
Dim i as Integer
' je pensais utiliser le i dans une boucle for finalement je ne l'utilise pas
Dim flag as Boolean
Dim classeurcode, classeurouvert as Workbook
Set classeurcode = thisWorkbook
' ici je stipule que le classeur ouvert est le classeur ou se trouve la macro et je le nomme classeurcode
MonDossier =" T: chemin du document "
'je donne le chemin du document ou je veux chercher mes données j'ai vraiment besoin de cette étape car le document sur lequel je vais prendre les données n'est pas forcément le même ça dépend des années ect ...
flag = true
if len(Dir(MonDossier, vbDirectory)) > 0 then
Shell Environ ("WINDIR") & " \explorer.exe " & MonDossier, vbNormalFocus
' petite vérification de routine
end if
Do while flag
' ici je veux essayer de faire une boucle qui permet de stopper le code tant que l'utilisateur n'a pas sélectionné l'autre classeur excel malheureusement c'est cette étape que je n'arrive pas à faire
DoEvents
Loop
Set classeurouvert = ActiveWorkbook
' pour essayer autrement j'ai donc déclarer que le dernier classeur actif qui est normalement le classeur ouvert par l'utilisateur à partir de l'explorateur de dossier. Quand je compile tout mon code cela ne marche pas quand je fais étape par étape avec F8 dans ce contexte ça marche. L'objectif est tout de même que cela se face lors de la compilation complète du code.
classeurcode.worksheets("SYNTHESE").Range("F16").Value = classeurouvert.Worksheets(4). Range("H43").Value
' ici je prend la donnée nécessaire pour remplir ma feuille excel qui se trouve dans le classeurcode
end Sub
Je vous remercie d'avance pour vos éléments de réponse, et votre aide.
A voir également:
- Aide sur explorateur de document.
- Explorateur de fichiers - Guide
- Comment reduire la taille d'un document - Guide
- Signer un document word - Guide
- Comment récupérer un document dans le presse-papier samsung - Guide
- Comment ouvrir un document docx - Guide
1 réponse
Bonjour,
Ce qu'il te faut, c'est une boite de dialogue pour sélectionner un fichier.
Regarde cela:
http://www.info-3000.com/vbvba/fichiers/#BoiteDialogueIntegree
Il y a aussi plein de choses interessantes!
Ce qu'il te faut, c'est une boite de dialogue pour sélectionner un fichier.
Regarde cela:
http://www.info-3000.com/vbvba/fichiers/#BoiteDialogueIntegree
Il y a aussi plein de choses interessantes!
Merci pour votre réponse !
J'ai effectivement lu l'article et j'en arrive au code suivant :
Sub traitement()
dim dossier
dim classeuractu as workbook
set classeuractu = ThisWorkbook
Application.FileDialog(msoFileDialogFilePicker).InitialFileName =" T: chemin de mon dossier "
dossier = .SelectedItems(1)
classeuractu.Worksheets("synthese").range("F16").value = dossier.worksheets(4).range("h43").value
end sub
en optant pour ce programme j'ai une erreur de compilation pour le .SelectedItems(1)
j'aimerais juste recupérer le dossier sélectionner pour pouvoir remplir mon classeur.
Avez vous une idée de où provient cette erreur ?
Merci d'avance