Explication code Vba ?

Calvus

XLDnaute Barbatruc
Bonjour le forum,

Voici ce que j'ai écrit :

Code:
Sub test()
With Sheets("feuil1").Select

.Range("g3,i3,k3,g6,i6,k6").Value = "Vide"
End With
End Sub

Ça fonctionne.

Or :

Code:
Sub test()
With Sheets("feuil1":"feuil3").Select

.Range("g3,i3,k3,g6,i6,k6").Value = "Vide"
End With
End Sub
ne fonctionne pas ! Pourquoi ?

Code:
Sheets("feuil1", "feuil3").Select
non plus évidemment.

J'ai bien sûr cherché sur le forum, et modifié comme suit :
Code:
Sub test()
With Sheets(Array("feuil1", "feuil2")).Select

Range("g3,i3,k3,g6,i6,k6").Value = "Vide"
End With
End Sub

Seulement le changement ne se fait que sur la première feuille.

J'ai réussi à un moment à faire une inscription sur 3 feuilles, mais je ne sais plus comment.

Sinon faudrait il écrire : Case Is = 1, 2, 3..etc ?

Pouvez vous donc m'expliquer ce qu'il faut comprendre dans la sélection multiple de feuilles ?

Merci
 

Paf

XLDnaute Barbatruc
Re : Explication code Vba ?

Re et bonjour Si...

A voir concrètement, si on peut jouer sur les noms de feuilles (s'ils s'y prêtent).

par exemple
ne traitera pas les feuilles dont le nom se termine par Trimestre
If Not(Worksheets(i).Name Like "*Trimestre" ) Then

ne traitera pas les feuilles dont le nom commence par janvier
If Not(Worksheets(i).Name Like "janvier*" ) Then


A+
 

Calvus

XLDnaute Barbatruc
Re : Explication code Vba ?

Re,

Bonsoir Calvus,

Il faut bien que la procédure sache sur quelles feuilles elle doit agir. Sans indiquer les noms des feuilles, comment le saurait elle ?

A moins de vouloir le faire sur toutes les feuilles par une boucle (excepté quelques feuilles) :

Merci Mapomme, il me manquait le "and"


re re


je répondais à la deuxième proposition de PaF en disant que le problème était le même et je ne connais pas de méthode simple pour éviter de citer tous les cas .

Garder ou exclure la démarche est la même "il faut les citer". En cas de nombres différents, on prendra les moins nombreux.

C'est plus simple dans ce cas d'exclure une feuille ou deux sur 48 non ?

Re merci Paf, Si..

A+
 

Staple1600

XLDnaute Barbatruc
Re : Explication code Vba ?

Bonsoir à tous


[acte de prosélytisme pour : FillAcrossSheets ]
Pour tester lancer la macro dans un classeur avec plusieurs feuilles dont une nommée MODELE
NB: voir dans l'aide VBA les 3 valeurs possibles de XlFillWith
PS: elles sont accessibles directement dans le code de teste grâce à Intellisense
VB:
Sub teste()
a Worksheets("MODELE"), xlFillWithAll
End Sub
Private Sub a(source As Worksheet, typeCopie As XlFillWith)
'adapté d'une de mes anciennes réponses
'http://www.excel-downloads.com/forum/190116-code-dans-workbook-ou-dans-un-module-pour-45-feuilles-dun-classeur-excel-2007-a-post1180504.html#post1180504
Dim arrWSN() As String, i%
'crée un tableau avec le nom de toutes les feuilles du classeur actif
ReDim arrWSN(1 To ActiveWorkbook.Sheets.Count)
For i = 1 To Worksheets.Count
arrWSN(i) = Sheets(i).Name
Next i
source.Range("g3,i3,k3,g6,i6,k6").Value = "Vide"
Worksheets(arrWSN).FillAcrossSheets source.Range("g3:k6"), typeCopie
End Sub
[/acte de prosélytisme pour : FillAcrossSheets ]
 

Calvus

XLDnaute Barbatruc
Re : Explication code Vba ?

Re,

T'es impayable Staple ! :cool:

Je comprends strictement rien à tes codes, mais j'y reviendrai quand je serai grand.
Pour l'instant je suis en 1ère année de maternelle.
Mais je vais grandir ! :D

Et merci pour ceux plus avancés qui cherchent encore à progresser.
 

Si...

XLDnaute Barbatruc
Re : Explication code Vba ?

re re re

Staple:D, l y a des publicités qui sont agréables à regarder mais qui ne sont pas bien adaptées au produit.
Comment fais-tu quand il faut ne sélectionner que certains onglets ?

Calvus, tu me laisses cogiter. Comme je n'aime pas les patates avec des arêtes de bar beau (ou de bo bar), je me concocte des recettes personnelles. Encore faut-il savoir ce qu'il y a vraiment au menu :
des feuilles (de salade) à garder, des feuilles (de chou) à exclure ?
Je choisis donc un tablier de sapeur (pour éteindre le feu que je viens d'allumer et que j'ai découvert il y a peu dans un bouchon).
 

Discussions similaires

Statistiques des forums

Discussions
312 299
Messages
2 086 998
Membres
103 425
dernier inscrit
alainPontonnier