probleme avec workbook.name
Bonjour à tous.
Je viens de m'inscrire et j'ai chercher sans succès une réponse à mon problème.
Je fait une macro de ventilation.
Pour commencer je souhaite ouvrir le classeur à ventiler puis faire diverses manip et ensuite revenir sur ce classeur que je n'ai pas fermé.
Je commence donc par :
Code:
1 2 3
| chemin_import.Caption = Application.GetOpenFilename("Fichiers Excel (*.xl*), *.xl*") ' attribue le choix à chemin_import
Workbooks.Open Filename:=chemin_import.Caption ' ouvre le classeur choisi
nom_fichier = ActiveWorkbook.Name ' attribue le nom du classeur à ventiler à la variable nom_fichier |
ensuite je voulais utiliser ma variable nom_fichier (variable publique) pour faire :
workbooks(nom_fichier).activatel'ennui c'est que dès le départ ma variable nom_fichier ajoute un nombre à mon nom de fichier !!!
lorsque je met une msgbox de controle juste sous ma troisième ligne : MsgBox ActiveWorkbook.Name & " _ " & chemin_import.Captionj'obtiens en résultat pour le fichier toto : toto _ toto1 (puis à chaque nouvelle tentative toto2, toto3 ect ...
Je précise qu'a ce stade je n'ai encore créer aucune boucle ni aucune incrémentation.
voici le code complet de la macro qui s’exécute lorsque je clique sur le premier bouton de mon userform :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
| Private Sub B_import_Click() ' lance le choix du claseur a ventiler
chemin_import.Caption = Application.GetOpenFilename("Fichiers Excel (*.xl*), *.xl*") ' attribue le choix à chemin_import
If Left(chemin_import.Caption, 4) <> "Faux" Then ' vérifie qu'un nom de fichier a été choisi
Workbooks.Open Filename:=chemin_import.Caption ' ouvre le classeur choisi
nom_fichier = ActiveWorkbook.Name ' attribue le nom du classeur à ventiler à la variable nom_fichier
MsgBox chemin_import.Caption & "////" & nom_fichier
Workbooks(nom_fichier).Sheets(1).Activate ' selectionne la premiere feuille du classeur
Dim var_col As Integer
Dim var_critere As String
var_col = 1
Do While Workbooks(nom_fichier).Sheets(1).Cells(2, var_col).Value <> "" ' récupére tous les entete de colonnes
CB_critere.AddItem Workbooks(nom_fichier).Sheets(1).Cells(2, var_col).Value ' les ajoute à la combobox CB_critere.
var_col = var_col + 1
Loop
End If
End Sub |