[RESOLU] Erreur 13 lors du masquage de lignes avec macro

yannick64

XLDnaute Junior
Bonjour à tous,

Sur un fichier que j'utilise au boulot j'ai un bug lors de l'exécution d'une macro qui doit masquer certaines lignes inutiles et renommer le document. Je n'arrive pas à trouver d’où vient l'erreur peut être que l'un d'entre vous pourra m'aider...

Je précise que c'est une
erreur 13 : incompatibilité de type
provoquée par les lignes 2,3,4,5 et 6 suivant la période sélectionnée :
Code:
If Range("g8").Value = "Première période" Then Rows("62:143").EntireRow.Hidden = True
If Range("g8").Value = "Seconde période" Then Rows("45:61;74:143").EntireRow.Hidden = True
If Range("g8").Value = "Troisième période" Then Rows("45:73;86:143").EntireRow.Hidden = True
If Range("g8").Value = "Quatrième période" Then Rows("45:85;102:143").EntireRow.Hidden = True
If Range("g8").Value = "Cinquième période" Then Rows("45:101;123:143").EntireRow.Hidden = True
If Range("g8").Value = "Sixième période" Then Rows("45:122").EntireRow.Hidden = True
Pour provoquer le bug sélectionner une période autre que la première et cliquer sur éditer les certificats

Merci d'avance
Yannick
 

Pièces jointes

  • Fichier allégé version forum.zip
    663.8 KB · Affichages: 64
Dernière édition:

yannick64

XLDnaute Junior
Re : Erreur 13 lors du masquage de lignes avec macro

Bon j'ai trouvé la cause de mon problème apparemment la fonction rows ne permet pas de sélectionner plusieurs zone en une seule fois. donc le code qui fonctionne est celui là
If Range("g8").Value = "Première période" Then Rows("62:143").EntireRow.Hidden = True
If Range("g8").Value = "Seconde période" Then Rows("45:61").EntireRow.Hidden = True
Rows("74:143").EntireRow.Hidden = True
If Range("g8").Value = "Troisième période" Then Rows("45:73").EntireRow.Hidden = True
Rows("86:143").EntireRow.Hidden = True
If Range("g8").Value = "Quatrième période" Then Rows("45:85").EntireRow.Hidden = True
Rows("102:143").EntireRow.Hidden = True
If Range("g8").Value = "Cinquième période" Then Rows("45:101").EntireRow.Hidden = True
Rows("123:143").EntireRow.Hidden = True
If Range("g8").Value = "Sixième période" Then Rows("45:122").EntireRow.Hidden = True

Bonne continuation à tous :D
 

Discussions similaires

Statistiques des forums

Discussions
311 729
Messages
2 081 970
Membres
101 852
dernier inscrit
dthi16088