Bonjour,
Je suis nouvelle sur ce forum débutante en vba, je m'excuse d'avance si je n'expose pas mon problème de la meilleure des façons.
J'ai une erreur sur ce code :
Ce code est dans un module. J'ai déclaré MaPlage as Range.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 'cette ligne de code me renvoie une erreur 1004 : Set Maplage = Worksheets("Calendrier scolaire").Range(Cells(2, 2), Cells(Semaines_P1 + 1, 3)) 'alors que cette ligne de code fonctionne : Set Maplage = Worksheets("Calendrier scolaire").Range("B2:C" & (Semaines_P1 + 1))
J'aimerais pouvoir utiliser l'écriture en Cells plutôt que celle avec le nom des colonnes en lettre car je souhaite piloter mes plages de cellules via des variables Integer. Pourriez-vous m'expliquer la différence entre mes 2 lignes de code qui génère une erreur sur la 1ère et pas sur la 2ème ligne ?
___________________________________________________________________________
J'ai réussi à contourner le problème en écrivant le code ainsi :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 'cette partie de code fonctionne bien With ThisWorkbook.Worksheets("Calendrier scolaire") Set MaPlage = .Range(.Cells(2, 2), .Cells(Semaines_P1 + 1, 3)) End With MaPlage.Copy With Worksheets("Gestion des prets").Range("A4") .PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:=False, Transpose:=True End With
Je poursuis mon code avec un copier-coller et je change juste de feuille. Mais j'ai de nouveau une erreur 1004 sur la partie qui suit (et si je remplace les .Cells(),.Cells() par un range("A3:H3") ça fonctionne...
En vous remerciant pour votre aide
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 With ThisWorkbook.Worksheets("Gestion des prets") Set MaPlage = .Range(.Cells(3, 1), .Cells(3, Semaines_P1)) 'le programme s'arrête ici et me renvoie une erreur 404 alors que pour moi, c'est exactement la même écriture que les lignes du dessus qui fonctionnent. End With MaPlage.Merge MaPlage.Value = "Période 1"
Partager