-
feuil excel vba
slt
je récupère des info d'un autres fichiers avec une fonction du style :
Code:
"='X:\" & Cells(i, 3).Value & "\" & Cells(i, 1).Value & "\" & "[vérif_" & Cells(i, 1).Value & ".XLS" & "]ENR081'!R8C6)"
mais voila de temps en temps le fichier n'a pas un onglet de ce nom donc commun faire pour que sa prenne la première feuille et que sa arrète de me demander la quelle choisir
j'ai essayer
Code:
Application.DisplayAlerts = False
mais sacahnge rien
-
Fais un test sur le nom des onglets avant de mettre ta fonction de façon à vérifier si cet onglet existe vraiment. Sinon, tu affiche un UserForm qui contient un RefEdit. Tu récupères le contenu de cette RefEdit pour continuer...
Si t'as pas tout compris, tu dis.
-
Ton idée est mon problème en effet lorsque excell ne trouve pas l'onglet il m'ouvre une boite qui me propose de choisir le nouvel onglet à selectionner,ce que je voudrais c'est au lieu de me demander l'onglet à choisir qu'il me sélectionne le premier onglet venue.
-
Comme le dis zaza, j'utiliserais un test sur le nom de la feuille avec une fonction if
Autre solution que j'applique sur l'un de mes fichiers,
Lorsque tu crée la feuille, tu passe une variable de 0 à 1 (ou plus si tu en changes plusieurs fois)
et tu fais le test sur cette variable soiut par if soit par select.
C'est plus simple.
Le principe dans ce cas est qu'avec cette variable, tu sais exactement ce que tu dois utiliser.
-
Dans mon problème j'ai environ 2000 feuille à vérifier théoriquement toutes avec le même nom d'onglet. problème certaine environ 250 non plus le même nom d'onglet, nom d'onglet très aléatoire, comme faire pour récupérer le nom lorsqu la fiche est fermé
-
Dans ce cas, n'aurais pas tu interet à travailler avec les numéro de feuilles plutot qu'avec son nom?
-
Oui mais quelle syntaxe utilisé
-
A tester mais j'essaierai ca
La feuille porte le nom de ENRO81.
Je remplace le nom par un numéro de feuille Ex avec feuille 5
Code:
"='X:\" & Cells(i, 3).Value & "\" & Cells(i, 1).Value & "\" & "[vérif_" & Cells(i, 1).Value & ".XLS" & "]5!R8C6)"
Si ca ne marche pas, avec (5)
Sinon, mettre une variable qui va chercher le nom de la feuille et l'integrer dans la formule mais ca va t'obliger à ouvrir le fichier.
-
c'était trop beau pour fonctionner
Code:
"='X:\" & Cells(i, 3).Value & "\" & Cells(i, 1).Value & "\" & "[vérif_" & Cells(i, 1).Value & ".XLS" & "]5!R8C6)"
même avec les parenthèses.
je crois que je vais devoir passé par des variables