Problème de selection de cellule
Bonjour à tous,
Je voudrais dans une macro sélectionner des cellules contiguës selon une ligne et une colonne paramétrées.
j'ai écrit ceci mais ça ne fonctionne pas (erreur d'éxécution 1004 sur cette ligne):
Code:
Range(Cells(Ligne, Colonne), Cells(Ligne + 1, Colonne - 11)).Select
J'ai beau chercher dans tous les sens et sur Internet, mais je ne trouve pas de réponse qui résolve mon problème :?
Les variables sont déclarées comme ci-dessous:
Code:
1 2 3
|
Dim Colonne As Integer
Dim Ligne As Integer |
Voici le début du code:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54
|
Sub Test()
Dim Colonne As Integer
Dim NumSemaine As Integer
Dim Ligne As Integer
Dim Onglet As String
Application.ScreenUpdating = False
NumSemaine = ActiveSheet.Cells(16, 2).Value
If ActiveSheet.Cells(16, 3) = "AA" Then Ligne = 6
If ActiveSheet.Cells(16, 3) = "BB" Then Ligne = 20
If ActiveSheet.Cells(16, 3) = "CC" Then Ligne = 34
If ActiveSheet.Cells(16, 3) = "DD" Then Ligne = 48
If ActiveSheet.Cells(16, 3) = "EE" Then Ligne = 62
If ActiveSheet.Cells(16, 3) = "FF" Then Ligne = 76
If ActiveSheet.Cells(16, 3) = "AA" Then Onglet = "PA_AA"
If ActiveSheet.Cells(16, 3) = "BB" Then Onglet = "PA_BB"
If ActiveSheet.Cells(16, 3) = "CC" Then Onglet = "PA_CC"
If ActiveSheet.Cells(16, 3) = "DD" Then Onglet = "PA_DD"
If ActiveSheet.Cells(16, 3) = "EE" Then Onglet = "PA_EE"
If ActiveSheet.Cells(16, 3) = "FF" Then Onglet = "FF"
'Efface les données d'Archive si la synthèse de la semaine 12 est lancée
If NumSemaine = 12 Then
Sheets("Archive").Activate
Sheets("Archive").Range("D6:N100").ClearContents
End If
'Cherche les données de la semaine sélectionnée dans l'onglet ZZ
For Colonne = 4 To 68
If Sheets("ZZ").Cells(6, Colonne) = NumSemaine Then
' Copie/colle les données Pertes (%)
Sheets("ZZ").Select
Range(Cells(Ligne, Colonne), Cells(Ligne + 1, Colonne - 11)).Select
Application.CutCopyMode = False
Selection.Copy
Sheets("XX").Select
Range("I46").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = False
.................
End Sub |
Bon, déjà, on peut facilement optimiser le code...mais je le ferai par la suite.
Si quelqu'un pouvait me donner une piste à mon erreur.
Merci de votre aide
Amicalement,
Luka