Bien le bonjour,
J'ai créé une petit macro tout mimi qui me permet de faire un copier coller tout en respectant une condition.
Dans ce cas là la macro copie-collera tout les cellules qui n'auront pas la valeurs 1:
(petite précision le programme "initia" permet de déclarer tout un tas de variable utilisé dans de nombreux autre code sur le même fichier excel. Elles ne sont donc pas tous utile.)
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 Dim x As Integer Sub copi_col() x = 7 initia While x < 961 If wspilot.Cells(x, 39) = 1 Then x = x + 1 Else wspilot.Cells(x, 13) = wspilot.Cells(x, 39) x = x + 1 End If Wend End Sub
l'idée et de rendre le code plus polyvalent et de chercher la condition d’exécution ou de non exécution dans une cellules excel. par exemple en changeant cette dit cellules lui dire que cette fois il copie-collera que tout les cellules ou il trouvera un X.
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 Public xL, nbL, xC, nbC As Integer Public pilot, prix As String Public wspilot, wsprix, wscode As Worksheet Public Sub initia() Set wscode = Worksheets("données code") ' ici on déclara (avec la ligne 1) les différents nom de pages. parce que "Worksheets("historique des prix")" c'est long à taper donc voilà. pilot = wscode.Range("C15") ' par contre le nom du pilots risque de changer. Set wspilot = Worksheets(pilot) ' on va donc sauvegarder son nom dans la feuille de données pour pouvoir la modifier facilement. prix = wscode.Range("C16") ' idem Set wsprix = Worksheets(prix) nbL = wscode.Range("H4").Value ' et ici on chope les valeurs qu'on aura besoin pour la suite xL = wscode.Range("K4").Value ' nbC = wscode.Range("J4").Value ' xC = wscode.Range("K5").Value ' End Sub
Partager