Chercher un document en VB sur excel
Résolu
ced
-
pijaku Messages postés 13513 Date d'inscription Statut Modérateur Dernière intervention -
pijaku Messages postés 13513 Date d'inscription Statut Modérateur Dernière intervention -
Bonjour,
j'aimerai pouvoir aller chercher des infos dans un document excel fermé a partir d'une macro d'un autre document excel.
pour le moment mon code est :
la ligne qui me permet d'acceder au document ou se trouve les infos que je cherche est :
" Windows(LabelDoc).Activate "
Le problème est que je suis obligé d'ouvrir mon document avant de lancer ma macro sinon le message d'erreur suivant apparait : "l'indice n'appartient pas a la selection".
En gros il ne trouve pas mon document; en sachant aussi que tous mes documents sont dans le même fichier.
merci d'avance pour vos aides !
j'aimerai pouvoir aller chercher des infos dans un document excel fermé a partir d'une macro d'un autre document excel.
pour le moment mon code est :
LabelDoc = Cells(34 + i, 2).Value
Windows(LabelDoc).Activate ' "LabelDoc" est le nom de mon document excel ou se trouve les infos que je cherche
Application.Goto Reference:="TableListe"
Selection.Copy
Windows("Test de macro.xls").Activate
Sheets("Liste").Activate
Cells(cellule, 1).Select
ActiveSheet.Paste
la ligne qui me permet d'acceder au document ou se trouve les infos que je cherche est :
" Windows(LabelDoc).Activate "
Le problème est que je suis obligé d'ouvrir mon document avant de lancer ma macro sinon le message d'erreur suivant apparait : "l'indice n'appartient pas a la selection".
En gros il ne trouve pas mon document; en sachant aussi que tous mes documents sont dans le même fichier.
merci d'avance pour vos aides !
1 réponse
-
Bonjour,
aller chercher des infos dans un document excel fermé n'est pas si évident que cela. Vous trouverez ici tout ce que vous avez besoin de savoir pour cela.
Personnellement, je préfère :
- ouvrir le classeur concerné,Workbooks.Open Filename:= "Chemin du repertoire du fichier\X.xls "
- piocher les infos utiles
- fermer le classeurActiveWorkbook.Close SaveChanges:=False
De la doc la dessus à cette adresse...
Cordialement,
-- Tout problème à sa solution. S'il n'y a pas de solution, ou est le problème? ---
bonjour pijaku,
deja merci pour ton interet.
ta solution pourrait m'aller mais en dernier recourt,
mais j'ai une autre question pour toi si tu veux bien :
dans la ligne de code
Workbooks.Open Filename:= "Chemin du repertoire du fichier\X.xls "
est-il possible de mettre une variable après le chemin du répertoire? je m'explique, j'ai plusieurs classeur a ouvrir et les noms de ces classeurs sont dans une feuille "paramètres" de mon classeur d'origine. Quel est le code pour faire cela?
merci !!! -
Supposons que tes noms de classeur soient écrit en Feuil2 de A1à A20, un nom par cellule, et que ton chemin d'accès soit toujours le même.
Tu peux faire quelque chose comme ça :Dim chemin, nomfic As String Dim i As Integer chemin = "C:\travail\fichiers Excel\" For i = 1 to 20 nomfic = Sheets("Feuil2").Cells(i ,1).Value Workbooks.Open Filename:= chemin & nomfic 'ici copier les valeurs utiles ActiveWorkbook.Close SaveChanges:=False Next i
Attention à bien mettre l'extension (.xls) dans tes noms de fichiers de A1 à A20 ex : toto.xls (pas toto) -
Ce code est super !!
dernière question :
entre l'ouverture et la fermeture je fait une copie d'un tableauApplication.Goto Reference:="TableListe" Selection.Copy
le seul truc, c'est que quand le doc ce ferme avec le "ActiveWorkbook.Close", il me demande si je veux sauvegarder la copie que j'ai effectuée, en sachant que je n'en ai plus besoin. Comment annuler cette demande? -
-
-