Basique:Sélection Worksheet Excel depuis une macro ? - VB/VBA/VBS - Programmation
Marsh Posté le 12-03-2010 à 11:39:59
Bonjour
Vérifie que tu as toujours quelque chose dans ta variable NomFichier
Marsh Posté le 12-03-2010 à 16:48:00
Ca ne fonctionne pas, j'ai toujours la même erreur.
La variable NomFichier contient bien le nom du fichier puisque j'arrive à l'ouvrir.
Mais est-ce que Windows() ou Workbooks() n'attend pas que le nom du fichier, (Ex: xxx.xls), sans tout le chemin ?
Si oui, comment faire ?
Marsh Posté le 12-03-2010 à 23:19:13
Avant ton Windows(NomFichier).Activate fais un MsgBox NomFichier pour voir si ta variable contient toujours le nom du fichier.
Comme tu as du traitement au milieu que tu ne nous a pas mis, on ne sait pas s'il n'y a pas qqchose qui ferait perdre ta variable.
Marsh Posté le 15-03-2010 à 09:02:08
La variable contient toujours le nom du fichier complet, y compris son chemin. Je pense que c'est pour cela que la commande Windows ne fonctionne pas. Je devrais extraire seulement le nom du fichier de la variable NomFichier. Une idée simple pour faire ça ???
Marsh Posté le 16-03-2010 à 11:53:10
Hello
Quelque chose comme ca devrait le faire :
Code :
|
Marsh Posté le 17-03-2010 à 09:43:11
Super ! C'est parfait. Je m'en sort avec ça.
Dernière question : Je referme mon fichier avec
Windows(NomFichier).Activate
ActiveWorkbook.Close False
Il ne me demande plus si je veux sauvegarder, mais par contre, comment éviter le message "Le presse papier contient un grand nombre d'information..." et la confirmation (Oui/Non/Annuler) ?
Marsh Posté le 17-03-2010 à 10:10:30
Avec un Application.DisplayAlerts = False ca ne resou pas le souci ?
Marsh Posté le 18-03-2010 à 14:33:44
YesssSSS ! Merci infinimment pour votre précieuse aide ! C'est mon premier "vrai" script VBA, un peu plus compliqué que par enregistrement auto, et c'est GENIAL, ça va me faire gagner des heures !
@+
Marsh Posté le 10-03-2010 à 08:40:44
Bonjour à tous,
Je suis novice en programamtion VBA et ma question va probablement vous paraître stupide, mais je n'y arrive pas tout seul, et j'ai grand besoin de votre aide.
J'aimerais reprendre des données depuis plusieurs fichiers, dont les noms varient, pour les consolider dans un seul fichier de résultat. Si le nom du fichier source est connu, la macro de copier / coller ne me pose pas de problème. Mais lorsque je veux pouvoir choisir le fichier source à ouvrir, je bute sur ceci :
Sub Consolide()
NomFichier = Application.GetOpenFilename()
If NomFichier <> False Then
MsgBox "Utilisation du fichier " & NomFichier, vbOKOnly, "Confirmation"
Else: MsgBox "Opération annulée ", vbOKOnly, "Confirmation": End
End If
Workbooks.Open Filename:=NomFichier
'
' Ici c'est bon, le fichier Excel est ouvert et je peux sélectionner mes
' données. Je fais diverses opérations, je copie dans un fichier résultat,
' puis j'aimerais resélectionner le fichier que je viens d'ouvrir
'
Windows(NomFichier).Activate
'
' et ici J'obtient err. d'execution : 9
' L'indice n'appartient pas à la sélection
'
End Sub
Au secours....