Bonjour tout le monde,
voilà où j en ai j'aimerai créer une macro (qui sera indépendante du fichier excel avec VB6) son but sera d'ouvrir un fichier excel que je vais mettre à côté de la macro executable et dés qu'on clique sur cette dernière on devrait ouvrir le fichier excel concerné pour copier quelques lignes d'une feuille et les mettre sur une 2eme feuille. bon je vais vous montrer à quoi ça ressemble mon code
bon j ai testé ma macro en l'intégrant dans le fichier excel directement et ça a marché.mais si je lance le code sur visual studio il me met une exception sur l'objet MonXL et aprés le débogage je vois qu'il m affiche qu il est impossible d'evaluer les enfants de cette objet. j attends votre aide et 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 Dim appExcel As Object Dim MonXL As Object 'Ouverture de l'application appExcel = CreateObject("Excel.Application") appExcel.Visible = True 'Ouverture d'un fichier Excel MonXL = appExcel.Workbooks.Open("C:\test.xls") Dim page As String 'je sauvegarde le nom de la page active page = MonXL.ActiveSheet.Name() 'j'ajoute la feuille sur laquelle je fais la copie MonXL.Sheets.Add(after:=MonXL.Sheets(MonXL.Worksheets.Count)) MonXL.Sheets(MonXL.Worksheets.Count).Name = "feuille1" 'je retourne sur la première page pour copier les données MonXL.Sheets(page).Select() Dim a As Integer Dim i As Long Dim n As Long n = MonXL.Rows.Count a = 2 b = 2 'copie du contenu du tableau selon la couleur de remplissage For i = 2 To n If MonXL.Range("a" & i).Interior.ColorIndex = 36 Then MonXL.Rows(i).Copy() MonXL.Sheets("feuille1").Select() MonXL.Range("A" & a).Select() MonXL.ActiveSheet.Paste() MonXL.Sheets(page).Select() a = a + 1 End If Next i appExcel.Quit()![]()
Partager