Bonjour à tous,
Je viens vers vous car j'ai créé un code VBA pour effectuer une action. Il fonctionne sur le principe, mais il est hyper lourd !
Je répète du code à bloc, alors qu'avec une boucle je pense que se serait plus léger !!
Mais voila, je galère avec les boucles !!!
Pourriez vous m'aider !
L'explication du code est simple, il regarde sur un onglet ("Casiersafermer") la plage F15 à F18 ( y a des références dans cette plage, style HB1, HB2, ect...) et regarde dans un autre onglet ("BasedeDonnées") qui est ma BDD, s'il voit une référence qui se trouve dans ma plage F15 à F18 du premier onglet, il doit l'effacer dans ma base de donnée.
Pour Infos Sur ma BDD, les références se trouve en colonne 17.
A titre d'info puisque je ne maitrise pas la fonction clear, j'ai "triché" en allant copier une cellule déjà vide la A1 de l'onglet "Casiersafermer"
Voici le code dégueulasse que j'ai fait:
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
31
32
33
34
35
36
37 Sub miseàjourVest() Dim F1 As Worksheet Dim F2 As Worksheet Set F1 = Sheets("BasedeDonnées") Set F2 = Sheets("Casiersafermer") Dim plage As Range Set plage = F1.Range("Q3:Q800") codrecherché = F2.Range("F15").Value Application.ScreenUpdating = False For Each cell In plage If cell.Value = codrecherché Then F1.Cells(cell.Row, 17) = F2.Range("A1") End If Next cell codrecherché = F2.Range("F16").Value Application.ScreenUpdating = False For Each cell In plage If cell.Value = codrecherché Then F1.Cells(cell.Row, 17) = F2.Range("A1") End If Next cell codrecherché = F2.Range("F17").Value Application.ScreenUpdating = False For Each cell In plage If cell.Value = codrecherché Then F1.Cells(cell.Row, 17) = F2.Range("A1") End If Next cell codrecherché = F2.Range("F18").Value Application.ScreenUpdating = False For Each cell In plage If cell.Value = codrecherché Then F1.Cells(cell.Row, 17) = F2.Range("A1") End If Next cell Application.ScreenUpdating = True End Sub
Désolé de vous montrer ce code les gars !!! J'ai honte !!!!
En vous remerciant d'avance.
Bonne journée à tous...
Cordialement,
Partager