[EXCEL VBA] controle de nom de feuille
shinji7800
Messages postés
335
Statut
Membre
-
shinji7800 Messages postés 335 Statut Membre -
shinji7800 Messages postés 335 Statut Membre -
Bonjour,
J’aimerai savoir s’il est possible sous Excel en programmation VBA, de contrôler juste les premiers caractères du nom d’une feuille
Je m’explique je crée un programme, de traitement de données, le problème c’est que le nom de la feuille change en fonction de la machine qui crée la feuille de donnée, et mon programme doit pouvoir traité n’importe quelle feuille
Par « chance » toute les pages commence par 273 j’aimerai savoir si c’est possible de ne faire attention qu’au trois premier caractère genre « 273* » ou quelque chose du genre
Merci par avance pour votre aide
J’aimerai savoir s’il est possible sous Excel en programmation VBA, de contrôler juste les premiers caractères du nom d’une feuille
Je m’explique je crée un programme, de traitement de données, le problème c’est que le nom de la feuille change en fonction de la machine qui crée la feuille de donnée, et mon programme doit pouvoir traité n’importe quelle feuille
Par « chance » toute les pages commence par 273 j’aimerai savoir si c’est possible de ne faire attention qu’au trois premier caractère genre « 273* » ou quelque chose du genre
Merci par avance pour votre aide
Configuration: Windows XP Firefox 2.0.0.3
6 réponses
-
salut
Tu peux utiliser la fonction mid qui scinde des chaines de caractère:
mid(sheets.name,1 ,3)
sheets.name fait référence à la chaine de caractère,
le chiffre 1 est le commencement de ta chaine et le chiffre 3 la fin.
En l'occurrence si tu as 273kaudu par ex cela prendra que 273 -
Je teste de suite ... merci pour cette reponse rapide !
cordialement -
bonjour
En l'occurrence si tu as 273kaudu par ex pour ne prendre que 273 tu peux faire aussidebnom = Left(Sheets(i).Name, 3)
-
If Val((Sheets(1).Name) <> 273) Then If Val((Sheets(2).Name) <> 273) Then vAns = MsgBox("manque relevée de codes défauts", 0 + 48, "Information") Else Sheets(2).Select End If Else 'les lignes de codes qui suivent ne sont que des tests ans = Val(Sheets(1).Name) 'Range("A1").Name = Mid(Sheets(1).Name, 1, 3) Range("A2").Value = Sheets(1).Name Range("A3").Value = Val("27302_090109_083320") Sheets(1).Select end if
j'ai pensé à faire quelque chose du genre
donc le nom de la page d'importation a la forme 273xx_xxxxxx_xxxxxx
pour mon programme (non fini, donc je ne connais pas le nombre de page final, et l'organisation de celle ci), je veux pouvoir sélectionner la page qui m'intéresse quand je veux
je suis dsl de ne pas pouvoir être plus clair -
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
Bonjour,
Je ne sais pas si je comprends bien le problème mais ne suffit-il pas de boucler sur toutes les feuilles pour trouver la bonne ?
Avec un code du type :For i = 1 To Sheets.Count If Left(Sheets(i).Name, 3) = "273" Then ' le traitement de la page..... End If Next i
A+
-
oui j'était justement arrivé a cette conclusion ...
mais j'ai un souci maintenant ... boucle for next non initialisé ...
mais merci a toi, je pense egalement que c'est la meilleur solution