Bonjour,
Je réalise un code qui me permet de copier coller des cellules (A4:I17) Sur la même feuille. Pour cela, j'ai une variable: Nb_batiments qui va déterminer combien de fois je dois copier coller ma sélection.
par exemple, Si Nb_Batiments = 4, je copie colle 4 fois ma plage de cellule. Je renomme également une cellule de cette plage de données à chaque fois que copie/Colle.
J'ai effectué le code suivant qui fonctionne très bien:
Cependant, Je trouve ca lourd, et je pense que se code peut être simplifié. J'apprend le VBA sur le tas et je ne sais pas comment je pourrais faire pour que certaines actions que je répète dans les cas 2 3 4 soit faites si Nb_Batiments = 2 ou 3 ou 4. Est ce que quelqu'un aurait une idée ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 Select Case Nombre_batiments Case 2 ' Feuilles informations bâtiments 1 et 2 Affichées et 3 4 masquées Sheets("Informations batiments").Range("A4:I17").Copy _ Destination:=Sheets("Informations batiments").Range("A19:I32") Sheets("Informations batiments").Range("A19").Value = "Batiment 2" Case 3 ' Feuilles informations bâtiments 1 2 3 Affichés et 4 masquée Sheets("Informations batiments").Range("A4:I17").Copy _ Destination:=Sheets("Informations batiments").Range("A19:I32") Sheets("Informations batiments").Range("A19").Value = "Batiment 2" Sheets("Informations batiments").Range("A4:I17").Copy _ Destination:=Sheets("Informations batiments").Range("A34:I47") Sheets("Informations batiments").Range("A34").Value = "Batiment 3" Case 4 ' Feuilles informations Batiments 1 2 3 4 affichées Sheets("Informations batiments").Range("A4:I17").Copy _ Destination:=Sheets("Informations batiments").Range("A19:I32") Sheets("Informations batiments").Range("A19").Value = "Batiment 2" Sheets("Informations batiments").Range("A4:I17").Copy _ Destination:=Sheets("Informations batiments").Range("A34:I47") Sheets("Informations batiments").Range("A34").Value = "Batiment 3" Sheets("Informations batiments").Range("A4:I17").Copy _ Destination:=Sheets("Informations batiments").Range("A50:I63") Sheets("Informations batiments").Range("A50").Value = "Batiment 4" End Select
J'avais pensé utiliser : Case 2,3,4 mais dans ce cas la lorsque Nb_batiment = 4, je n'obtiens qu'une fois le copier/coller
Merci d'avance pour votre aide.
Partager