VBA : Appliquer un même code sur plusieurs feuilles Excel

Résolu/Fermé
LAASRI.reda Messages postés 26 Date d'inscription mardi 15 juillet 2014 Statut Membre Dernière intervention 21 juillet 2014 - 17 juil. 2014 à 13:16
LAASRI.reda Messages postés 26 Date d'inscription mardi 15 juillet 2014 Statut Membre Dernière intervention 21 juillet 2014 - 17 juil. 2014 à 15:24
salut tout le monde!

J'ai un code qui marche bien pour un de mes onglets nommé "sheet1", je souhaite appliquer le même code pour mes autres onglets, en sachant que la seule chose à remplacer dans les codes sera le nom de l'onglet(ce nom intervient quand je Set la worksheet mais aussi dans le cadre de concaténations...)

Est ce qu'on peut définir ce Nom comme variable qui prendra les noms des onglets les uns après les autres....??


Merci pour l'aide

2 réponses

pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 2 744
Modifié par pijaku le 17/07/2014 à 13:18
Bonjour,

Pour boucler sur toutes les feuilles d'un même classeur :

Dim Feuille As Worksheet

For Each Feuille In ThisWorkbook.Worksheets
    'Ta procédure ici
    'par exemple :
    Feuille.Range("A1") = Feuille.Name 'place le nom de la feuille dans la cellule A1
Next Feuille


Cordialement,
Franck
2
LAASRI.reda Messages postés 26 Date d'inscription mardi 15 juillet 2014 Statut Membre Dernière intervention 21 juillet 2014
17 juil. 2014 à 13:35
Merci pour le code ! mais ça donne une erreur d'exécution : 1004 --> la méthode 'Range' de l'objet '_woorksheet 'a échoué
je m'excuse autre fois pour le dérangement
0
pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 2 744
17 juil. 2014 à 13:37
Le code donné n'était qu'un exemple bidon...
Retente en plaçant dans un bloc With :
Dim Feuille As Worksheet

For Each Feuille In ThisWorkbook.Worksheets
    With Feuille
    'bien respecter le point avant Range.......
        .Range("A1") = Feuille.Name 'place le nom de la feuille dans la cellule A1
    End With
Next Feuille
0
LAASRI.reda Messages postés 26 Date d'inscription mardi 15 juillet 2014 Statut Membre Dernière intervention 21 juillet 2014
17 juil. 2014 à 13:53
merci infiniment pour vos efforts , vous trouvez içi mon code , priere de me placer également la ligne qui permet de copier-coller des colonnes " cf. copier-coller des colonnes d'une feuille1 vers une feuille2"
voici le fichierc-joint : http://cjoint.com/data/0GrnXOVuNRY.htm
0
pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 2 744
17 juil. 2014 à 15:20
Nous ne sommes pas ici pour faire à votre place.
Si vous ne comprenez pas le code vous n'arriverez pas à le maintenir...
Donc...

Pour boucler sur les feuilles Feuil1, Feuil2 et Feuil3 faites ceci :
Dim Feuille As Worksheet

For Each Feuille In ThisWorkbook.Worksheets
    If Feuille.Name = "Feuil1" Or Feuille.Name = "Feuil2" Or Feuille.Name = "Feuil3" Then
        With Feuille
            'ICI vous mettez le code que vous souhaitez voir exécurer sur les trois feuilles
        End With
    End If
'Ici le code du copié/collé
Next Feuille
0
LAASRI.reda Messages postés 26 Date d'inscription mardi 15 juillet 2014 Statut Membre Dernière intervention 21 juillet 2014
17 juil. 2014 à 15:24
je m'excuse mais j'ai jamais lu le langage VBA et je sais bien que c'est l'occasion mais la contrainte du temps m'a obligé de tirer profit de votre soutien ... bref ,c'est trés gentille de votre part et merci bcq pour votre aide
0