Problème avec Range(Cells(),Cells()
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 :
Code:
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)) |
Ce code est dans un module. J'ai déclaré MaPlage as Range.
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:
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...
Code:
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" |
En vous remerciant pour votre aide