Bonjour,
Que vaut jours ? Tu ne l'écris jamais. Tu créés une InputBox (Nom), mais tu n'utilises jamais Nom ensuite. Attention, l'Inputbox renvoie une chaine de caractère --> à convertir si on veut un nombre.
Quelle est la plage de cellule que tu veux sélectionner. Pour une plage de cellule, voici plusieurs syntaxes possibles :
1 2
| Range("A1:B10")
Range(Cells(1, 1), Cells(10, 2)) |
Avec des variables (par ex. si i = 10) :
1 2
| Range("A1:B" & i)
Range(Cells(1, 1), Cells(i, 2)) |
Mais ceci :
ne va pas. DernLigne est un entier correspondant à une ligne, ce n'est pas un cellule. i est-il négatif ? Il n'existe pas de cellule avec une ligne négative !
Ensuite, évite au maximum d'utiliser Select, Selection, Activate, ActiveSheet etc ... Ceci est donné par l'enregistreur de macro, mais ensuite, il faut travailler le code.
N'écris pas :
1 2 3
| Sheets("ma feuille").Activate
ActiveSheet.Range("A1").Select
Selection.Copy |
Mais :
Sheets("ma feuille").Range("A1").Copy
Deplus, avec la méthode Copy, tu as la syntaxe suivante :
Sheets("feuille source").Range("A1").Copy destination:=Sheets("feuille de destination").Range("A1")
Cela allègera ton code.
Partager