VB - sélection de feuille et conditions

Le
kalinaja
Bonjour à tous,

J'ai une petite question qui me taraude l'esprit

J'ai un classeur se composant d'une quarantaine de feuilles, toutes nommées
différemment

Je souhaite appliquer une macro à une trentaine de ces feuilles, le seul
moyen de les différencier étant leur nom

Connaissez-vous un moyen d'introduire une condition unique (variable qui
contiendrait l'ensemble des noms d'onglets à modifier) au lieu d'une cascade
de if feuille.name = "xx" then elseif feuille.name="yy" thenelseif
pour m'assurer que les feuilles qui seront traitées seront bien les bonnes ?

En vous remerciant,

Cordialement,

FFO
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
cousinhub
Le #4529531
Bonsoir,
tu as au moins deux solutions, soit déterminer un Array avec les noms
des onglets :

Sub essai()
For Each sh In Array("un", "deux")
Sheets(sh).[a1] = "essai1"
Next
End Sub

soit d'après le codename de la feuille
Il faut que tu t'arranges pour que les codename des feuilles à traiter
portent un numéro à suivre (par exemple de 1 à 30)
pour cela, tu cliques sur la feuille dans l'éditeur VBA, tu tapes F4, et
tu modifies son nom

Sub essai2()
For i = 1 To 2
Sheets(i).[a1] = "essai2"
Next
End Sub

Bon courage

Bonjour à tous,

J'ai une petite question qui me taraude l'esprit ...

J'ai un classeur se composant d'une quarantaine de feuilles, toutes nommées
différemment

Je souhaite appliquer une macro à une trentaine de ces feuilles, le seul
moyen de les différencier étant leur nom ...

Connaissez-vous un moyen d'introduire une condition unique (variable qui
contiendrait l'ensemble des noms d'onglets à modifier) au lieu d'une cascade
de if feuille.name = "xx" then ... elseif feuille.name="yy" then...elseif...
pour m'assurer que les feuilles qui seront traitées seront bien les bonnes ?

En vous remerciant,

Cordialement,

FFO


kalinaja
Le #4527471
Excellent,

J'ai choisi d'utiliser (avec succès) la solution Array !

Merci beaucoup Cousinhub !

Cordialement,

FFO.



Bonsoir,
tu as au moins deux solutions, soit déterminer un Array avec les noms
des onglets :

Sub essai()
For Each sh In Array("un", "deux")
Sheets(sh).[a1] = "essai1"
Next
End Sub

soit d'après le codename de la feuille
Il faut que tu t'arranges pour que les codename des feuilles à traiter
portent un numéro à suivre (par exemple de 1 à 30)
pour cela, tu cliques sur la feuille dans l'éditeur VBA, tu tapes F4, et
tu modifies son nom

Sub essai2()
For i = 1 To 2
Sheets(i).[a1] = "essai2"
Next
End Sub

Bon courage

Bonjour à tous,

J'ai une petite question qui me taraude l'esprit ...

J'ai un classeur se composant d'une quarantaine de feuilles, toutes nommées
différemment

Je souhaite appliquer une macro à une trentaine de ces feuilles, le seul
moyen de les différencier étant leur nom ...

Connaissez-vous un moyen d'introduire une condition unique (variable qui
contiendrait l'ensemble des noms d'onglets à modifier) au lieu d'une cascade
de if feuille.name = "xx" then ... elseif feuille.name="yy" then...elseif...
pour m'assurer que les feuilles qui seront traitées seront bien les bonnes ?

En vous remerciant,

Cordialement,

FFO





Publicité
Poster une réponse
Anonyme