XL 2016 Lancer une macro sur plusieurs feuilles

Janis

XLDnaute Nouveau
Bonjour,

Je sollicite une nouvelle fois votre aide car la macro que j'ai réalisée ne fonctionne pas et je n'arrive pas à comprendre pourquoi ;(

Je souhaite qu'une macro se réalise sur plusieurs feuilles de mon classeur pour ne pas avoir à la lancer sur chaque feuille.
J'ai donc inséré ma macro (qui fonctionne bien, et grâce à l'aide que j'ai trouvé ici d'ailleurs :) ) dans une autre macro pour qu'elle soit exécutée sur toutes les feuilles, sauf certaines que j'ai précisées.

Le problème est que j'ai le message "erreur d'exécution 13 Incompatibilité de type qui apparait" et la macro ne se réalise sur aucune feuille.

Voici la macro :

Sub TEST()
Dim ws As Worksheet

For Each ws In Worksheets
If ws.Name <> "Notice" Or ws.Name <> "Sommaire" Or ws.Name <> "Liste du personnel" Or ws.Name <> "Plannings" Or ws.Name <> "JF" Or ws.Name <> "Modèle" Then
ws.Activate

Dim i%, Derlig&
For i = 1 To Range("A3").Value
' c'est cette ligne qui pose problème pourtant la macro marche bien quand je la lance sur chaque feuille
Derlig = Range("C" & Rows.Count).End(xlUp).Row + 1
Rows("18:23").Copy Rows(Derlig & ":" & Derlig + 5)
Next i
End If
Next ws
End Sub


Sur certaines feuilles la cellule A3 est égale à 0 car pas besoin d'ajouter de lignes je me demande si c'est ça qui bloque la macro...

Je vous mets également une copie de mon fichier.

J'espère avoir été claire dans l'exposé de mon "problème" et que vous pourrez m'aider.
Merci par avance pour votre aide.
 

Pièces jointes

  • Exemple Feuilles de pointages.xlsm
    106.2 KB · Affichages: 15

Jacky67

XLDnaute Barbatruc
Bonjour,

Je sollicite une nouvelle fois votre aide car la macro que j'ai réalisée ne fonctionne pas et je n'arrive pas à comprendre pourquoi ;(

Je souhaite qu'une macro se réalise sur plusieurs feuilles de mon classeur pour ne pas avoir à la lancer sur chaque feuille.
J'ai donc inséré ma macro (qui fonctionne bien, et grâce à l'aide que j'ai trouvé ici d'ailleurs :) ) dans une autre macro pour qu'elle soit exécutée sur toutes les feuilles, sauf certaines que j'ai précisées.

Le problème est que j'ai le message "erreur d'exécution 13 Incompatibilité de type qui apparait" et la macro ne se réalise sur aucune feuille.

Voici la macro :

Sub TEST()
Dim ws As Worksheet

For Each ws In Worksheets
If ws.Name <> "Notice" Or ws.Name <> "Sommaire" Or ws.Name <> "Liste du personnel" Or ws.Name <> "Plannings" Or ws.Name <> "JF" Or ws.Name <> "Modèle" Then
ws.Activate

Dim i%, Derlig&
For i = 1 To Range("A3").Value
' c'est cette ligne qui pose problème pourtant la macro marche bien quand je la lance sur chaque feuille
Derlig = Range("C" & Rows.Count).End(xlUp).Row + 1
Rows("18:23").Copy Rows(Derlig & ":" & Derlig + 5)
Next i
End If
Next ws
End Sub


Sur certaines feuilles la cellule A3 est égale à 0 car pas besoin d'ajouter de lignes je me demande si c'est ça qui bloque la macro...

Je vous mets également une copie de mon fichier.

J'espère avoir été claire dans l'exposé de mon "problème" et que vous pourrez m'aider.
Merci par avance pour votre aide.
Bonjour,
A priori,
Ws étant la feuille active à chaque boucle(pour coller), il faudra préciser le nom de la feuille source(pour copier)
ou alors, sans activer
nom de la feuille source.plage à copier ws.Derlig
 
Dernière édition:

Discussions similaires

Réponses
7
Affichages
292

Statistiques des forums

Discussions
311 711
Messages
2 081 799
Membres
101 818
dernier inscrit
tiftouf5757