hello le forum !
j'ai un p'tit souci :
Je travail sur plusieurs classeurs à la fois dans ma macro, mais la voici
Bizarrement, quand je l'ai écrite, tout fonctionnait bien, plusieurs fois avec réinitialisation des classeurs. J'ai fermé tout mes classeurs, je les ai réouvert tels qu'ils était, et la macro s'arretait sur la ligne avec le select, avec pour erreur : '1004' ereur définie par l'application ou par l'objet.
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
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66 Dim nom_FPD As String 'nom du classeur contenant le fichier FPD Dim nom_outils_devis As String Dim col_tab_fin As Integer Dim L_tab_fin As Integer Dim L_tab As Integer Dim col_ordre As Integer Dim col_annee_FPD_2 As Integer Dim annee_FPD_2 As Long Dim NbOrdonne As Integer nom_outils_devis = "devis_1.xlsm" nom_FPD = "ref__1.xlsx" annee_FD_2 = annee_FPD(nom_FPD) 'appel d'une fonction col_tab_fin = Workbooks("Table de conversion.xlsm").Worksheets("Feuil1").Cells(2, 1).End(xlToRight).Column col_annee_FD_2 = col_annee_FPD((col_tab_fin), (nom_FPD), (annee_FPD_2)) 'appel de fonction L_tab_fin = Workbooks("Table de conversion.xlsm").Worksheets("Feuil1").Cells(39, col_annee_FPD_2).End(xlUp).Row NBservices = L_tab_fin NbOrdonne = 0 For L_tab = 2 To L_tab_fin If Workbooks("Table de conversion.xlsm").Worksheets("Feuil1").Cells(L_tab, col_tab_fin + 1) = Empty Then Else NbOrdonne = NbOrdonne + 1 col_ordre = Workbooks("Table de conversion.xlsm").Worksheets("Feuil1").Cells(L_tab, col_tab_fin + 1).Value Workbooks(nom_outils_devis).Worksheets("Feuil1").Cells(13, col_ordre).Value = Workbooks("Table de conversion.xlsm").Worksheets("Feuil1").Cells(L_tab, col_tab_fin).Value Workbooks(nom_outils_devis).Worksheets("Feuil1").Range(Cells(13, col_ordre), Cells(14, col_ordre)).Select Columns(col_ordre).ColumnWidth = 20 Selection.Font.Size = 12 Selection.Merge End If Next L_tab
Grâce à ce forum, modifié :
en
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 Workbooks(nom_outils_devis).Worksheets("Feuil1").Range(Cells(13, col_ordre), Cells(14, col_ordre)).Select Columns(col_ordre).ColumnWidth = 20 Selection.Font.Size = 12 Selection.Mergesans plus de résultat, malgré que ma macro ai fonctionnée accordément à mon code avant la fermeture des classeurs.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 Workbooks(nom_outils_devis).Worksheets("Feuil1").Range(Cells(13, col_ordre), Cells(14, col_ordre)).font.size=12 Workbooks(nom_outils_devis).Worksheets("Feuil1").Range(Cells(13, col_ordre), Cells(14, col_ordre)).merge Columns(col_ordre).ColumnWidth = 20
autre petite question : faut il toujrs déclarer la variable du compteur dans une boucle for par ex, en sachant que je n'aurais jamais besoin d'un long par ex ?
Je suis pas très douée en vba, je débute un peu mais je ne comprend pas trop l'erreur
qq'un pour m'aider svp ?
Partager