Bonjour
J'ai le code ci dessous qui me renvoi un erreur 1004 sur la ligne 28.
Et je ne comprend pas pourquoi. J'ai utiliser la même commande d'égalité, dans une autre macro, également dans une boucle while, également avec des variables pour définir les colonnes, également entre 2 onglets.
Relu 4 fois le bazar pour traquer une faute de frappe, un espace en trop...rien.
Une bonne âme pourrait-elle me trouver le problème?
Merci d'avance
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
40 Dim ligneoffre As Integer, ligneselec As Integer ligneoffre = 19 ligneselec = 13 'trier par N° de machine croissant Sheets("Selection").Activate ActiveWorkbook.Worksheets("Selection").AutoFilter.Sort.SortFields.Clear ActiveWorkbook.Worksheets("Selection").AutoFilter.Sort.SortFields.Add Key:= _ Range("e12"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _ xlSortNormal With ActiveWorkbook.Worksheets("Selection").AutoFilter.Sort .Header = xlYes .MatchCase = False .Orientation = xlTopToBottom .SortMethod = xlPinYin .Apply End With 'tester existance d'une machine Range("E13").Select If ActiveCell.Value = "" Then MsgBox ("Aucune machine selectionnée") Exit Sub End If While ActiveCell.Value <> "" 'tant qu'il y a une machine sélectionnée 'on copie les valeurs Worksheets("Offre client").Cells(ligneoffre, "b") = Worksheets("Selection").Cells(ligneselect, "e") Worksheets("Offre client").Cells(ligneoffre, "c") = Worksheets("Selection").Cells(ligneselect, "g") Worksheets("Offre client").Cells(ligneoffre, "e") = Worksheets("Selection").Cells(ligneselect, "n") ligneoffre = ligneoffre + 1 'incrémenter le N de ligne où copier la machine ligneselect = ligneselect + 1 'incrementer le N° de ligne de la machine Sheets("Offre client").Activate Rows(ligneoffre).Select Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromAbove Sheets("Selection").Activate Range("E:" & ligneselect).Select Wend
Partager