Annuler ouverture fichiers Le sujet est résolu

Y compris Power BI, Power Query et toute autre question en lien avec Excel
T
Timothe URVOY
Membre fidèle
Membre fidèle
Messages : 371
Inscrit le : 9 octobre 2014
Version d'Excel : Excel2010 & Excel2013

Message par Timothe URVOY » 16 février 2015, 10:45

Bonjour tout le monde,

J'utilise la fonction :
Dim filenames As Variant
 filenames = Application.GetOpenFilename("Text Files (*.csv), *.csv", , , , True)
Qui me permet d'aller chercher plusieurs fichier (que je colle ensuite sur la feuille)
Le code fonctionne, mais lorsque l'utilisateur annule l'ouverture du fichier, on retourne sur la page de code avec l'erreur 13 : "incompatibilité de type" sur la ligne
 While counter <= UBound(filenames)
J'ai regardé ce que renvoyé la fonction, Excel me dit False, je place donc un test pour lui demander s'il prend la valeur False, ça ne fonctionne pas, même erreur (Excel me dit False = Faux)
J'essaie donc
            If filenames = False Then
            Exit Sub
Dans ce cas là cela fonctionne, mais la recherche passe en erreur 13 si l'utilisateur ouvre un fichier.

J'ai cherché sur internet pour voir ce que renvoyait comme valeur Ubound sans vraiment trouvé de réponses tangibles, j'ai donc essayé le test avec 0 ou Null (avec juste la variable filenames) sans plus de succès.

Je commence à arriver à court d'idées, je joins le fichier et merci à ceux qui y jetteront un oeil.
SYTELv1.xlsm
(31.93 Kio) Téléchargé 6 fois
Je ne sais pas qui t'a dis de te servir de ta tête pour résoudre les problèmes ... mais ça ne voulait surement pas dire "sers-t'en SUR l'ordinateur" !
Avatar du membre
galopin01
Passionné d'Excel
Passionné d'Excel
Messages : 6'348
Appréciations reçues : 158
Inscrit le : 18 septembre 2008
Version d'Excel : 2016
Téléchargements : Mes applications

Message par galopin01 » 16 février 2015, 10:53

bonjour,
Mettre :
Dim filenames As Variant
filenames = Application.GetOpenFilename("Text Files (*.csv), *.csv", , , , True)
If filenames = "" Then Exit Sub
...
A+
T
Timothe URVOY
Membre fidèle
Membre fidèle
Messages : 371
Inscrit le : 9 octobre 2014
Version d'Excel : Excel2010 & Excel2013

Message par Timothe URVOY » 16 février 2015, 11:29

Ca n'a pas l'air de fonctionner, j'ai toujours l'incompatibilité de type :
- Quand tu cliques sur Annuler ->
While counter <= UBound(filenames)
incompatibilité de type
- Quand tu cliques sur Ouvrir ->
If filenames = "" Then
incompatibilité de type
Je ne sais pas qui t'a dis de te servir de ta tête pour résoudre les problèmes ... mais ça ne voulait surement pas dire "sers-t'en SUR l'ordinateur" !
Avatar du membre
galopin01
Passionné d'Excel
Passionné d'Excel
Messages : 6'348
Appréciations reçues : 158
Inscrit le : 18 septembre 2008
Version d'Excel : 2016
Téléchargements : Mes applications

Message par galopin01 » 16 février 2015, 13:59

Bonjour,
Finalement j'ai un peu restructurée ton usine à gaz pour ne laisser que ce qui était utile à l'importation...
A+
SYTELvG.xlsm
(35.1 Kio) Téléchargé 44 fois
T
Timothe URVOY
Membre fidèle
Membre fidèle
Messages : 371
Inscrit le : 9 octobre 2014
Version d'Excel : Excel2010 & Excel2013

Message par Timothe URVOY » 16 février 2015, 14:29

C'est une idée,
Le problème c'est que j'ai besoin du reste (Je dois coller le contenu des fichiers que j'ouvre, sur le même classeur, sur des feuilles différentes. Ensuite je rajouterai même du code de mise en forme sous condition, c'est y pas génial ?)
C'est pas une usine à gaz, j'ai énormément de trucs à mettre ensemble et vu que je code comme un dinosaure ^^ ou alors que je fais des grosses merdes préhistoriques, c'est toi qui voit ^^
Je ne sais pas qui t'a dis de te servir de ta tête pour résoudre les problèmes ... mais ça ne voulait surement pas dire "sers-t'en SUR l'ordinateur" !
T
Timothe URVOY
Membre fidèle
Membre fidèle
Messages : 371
Inscrit le : 9 octobre 2014
Version d'Excel : Excel2010 & Excel2013

Message par Timothe URVOY » 16 février 2015, 15:04

Et surtout après Test, lorsque je veux ouvrir les fichiers il en ouvre un puis se met en erreur (message box correspondant à ce code :
GESTERR:
   MsgBox "ok"
Je ne sais pas qui t'a dis de te servir de ta tête pour résoudre les problèmes ... mais ça ne voulait surement pas dire "sers-t'en SUR l'ordinateur" !
Avatar du membre
galopin01
Passionné d'Excel
Passionné d'Excel
Messages : 6'348
Appréciations reçues : 158
Inscrit le : 18 septembre 2008
Version d'Excel : 2016
Téléchargements : Mes applications

Message par galopin01 » 16 février 2015, 15:12

Bonjour,
Ya pas de souci, La macro te permet d'ouvrir tous les fichiers que tu veux dans des feuilles séparées après tu en fais ce que tu veux, mais tu n'as plus besoin de retoucher cette macro,
Rien ne t'empêche de faire à partie du bouton la liste des macros que tu dois appliquer :
Private Sub CommandButton1_Click()
CopierCollerConvertir
SupprimerLesFeuillesInutiles
MettreEnFormeLesNouvellesDonnées
AutresProcéduresApplicables
End Sub
Comme ça chaque macro fait un boulot bien défini et YAPA d'embrouille, mais si tu mélanges un peu tout dans la même macro, selon mon point de vue ça devient une usine à gaz.
A+
T
Timothe URVOY
Membre fidèle
Membre fidèle
Messages : 371
Inscrit le : 9 octobre 2014
Version d'Excel : Excel2010 & Excel2013

Message par Timothe URVOY » 16 février 2015, 15:16

Disons que je vérifie si sa fonctionne, ensuite j'allège le code en séparant dans différentes macro, et vu que là je n'ai pas terminé, je faisais un gros brouillon qui regroupe tout ^^

Je viens de comprendre d'où venait le problème, le bouton était placé sur la feuille ...S02.CSV
Donc quand je sélectionnait mes fichiers et qu'il voyait que le 02 était déjà ouvert, il m'indiquait le message d'erreur
Je ne sais pas qui t'a dis de te servir de ta tête pour résoudre les problèmes ... mais ça ne voulait surement pas dire "sers-t'en SUR l'ordinateur" !
Répondre Sujet précédentSujet suivant
  • Sujets similaires
    Réponses
    Vues
    Dernier message