Bonjour à tous,
Je suis un très grand débutant en VBA?
J'essaie depuis quelques jours de faire en sorte que sous deux conditions excel copie automatiquement une ligne de 28 cellule d'une page ici "GPostes" feuille 4, sur la feuille deux nommé Plannings.
Je suis arrivé après avoir perdu de nombreux litre de sueur et quelques touffes de cheveux à force de m'arracher la tête ... à ceci (le code appartient à l'objet feuille 2) :
Il y a surement beaucoup plus simple, j'aimerai cependant comprendre pouruquoi ce bout de code ne marche pas et affiche: "erreur d'execution 1004 défini par l'objet ou l'appli" lorsqu'il essai d'executer une des ligne GS.select, DS.select ou PS.select?
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
38
39 Sub mise_à_jour_postes() Dim i As Integer Dim GS As Range Dim PS As Range Dim DS As Range Set DS = (Sheets("Gpostes").Range("C5:AD5")) Set GS = (Sheets("Gpostes").Range("C9:AD9")) Set PS = (Sheets("Gpostes").Range("C13:AD13")) i = 7 While i <= 68 If Range("C" & i).Value = "Oui" Then If Range("C" & i + 1).Value = "Oui" Then DS.Select Selection.Copy Range("D" & i + 1).Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False End If ElseIf Range("C" & i).Value = "Non" Then If Range("C" & i + 1).Value = "Oui" Then GS.Select Selection.Copy Range("D" & i + 1).Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False End If ElseIf Range("C" & i).Value = "Oui" Then If Range("C" & i + 1).Value = "Non" Then PS.Select Selection.Copy Range("D" & i).Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False End If Else End If i = i + 2 Wend End Sub
Partager