Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

VB - sélection de feuille et conditions

2 réponses
Avatar
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" then...elseif...
pour m'assurer que les feuilles qui seront traitées seront bien les bonnes ?

En vous remerciant,

Cordialement,

FFO

2 réponses

Avatar
cousinhub
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


Avatar
kalinaja
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