J'ai remlacé tous les "Mois" par "leMois" mais toujours le même message avec "leMois" surligné.
Cordialement,
Clair
J'ai remlacé tous les "Mois" par "leMois" mais toujours le même message avec "leMois" surligné.
Cordialement,
Clair
Peut être
Code : Sélectionner tout - Visualiser dans une fenêtre à part If Mois < 0 Then Mois=Mois + 12
Cordialement.
J'utilise toujours le point comme séparateur décimal dans mes tests.
Ha cool, ça ne bloque plus par contre quand j'ai renseigné le ficher RATIO à ouvir c'est le code suivant qui stipule un DEBOGAGE
Code : Sélectionner tout - Visualiser dans une fenêtre à part Mois = CInt(Mid(Fich, InStr(1, Fich, ".") - 2, 2)) - 12
Cordialement,
Clair
Quel est le message d'erreur. Quel est le nom du fichier choisi ?
Cordialement.
Daniel
La plus perdue de toutes les journées est celle où l'on n'a pas ri. Chamfort
Le message d'erreur est le suivant :
Puis je clique sur débogage et ça me met en surlignage le code cité précedemment.Erreur d'exécution '13'
Incompatibilité de type
Et le nom du fichier choisi est : "Ratio_tx_AA_suivi_2011_2012_09"
Cordialement,
Clair
Le nom de fichier n'a pas d'extension (.xls par exemple) ?
Cordialement.
Daniel
La plus perdue de toutes les journées est celle où l'on n'a pas ri. Chamfort
oui pardon : .XLS
Cordialement,
Clair
Il est possible que ça twiste s'il y a un point dans le chemin. Remplace la ligne par :
Code : Sélectionner tout - Visualiser dans une fenêtre à part Mois = CInt(Mid(Fich, InStrRev(Fich, ".") - 2, 2)) - 9
Cordialement.
Daniel
La plus perdue de toutes les journées est celle où l'on n'a pas ri. Chamfort
Super ça marche, merci beaucoup Daniel !
Mais on en revient toujours au même problème. Si je choisie le fichier "Ratio_tx_AA_suivi_2011_20212_10" (donc du mois d'octobre), la macro ne reconnaît pas le fichier et la recherchev ne change pas de colonne. C'est-à-dire qu'elle devrait se faire sur les colonnes AH; AI; AK et AL.
Je suis désolée de vous prendre autant la tête !
Une inputbox serait-elle envisageable ?
Cordialement,
Clair
oui, bien sûr, mais à mon avis, le problème est ailleurs. Peux-tu poster le code que tu utilises ? et le chemin complet du fichier choisi.Une inputbox serait-elle envisageable ?
Cordialement.
Daniel
La plus perdue de toutes les journées est celle où l'on n'a pas ri. Chamfort
De quel code parlez-vous ?Peux-tu poster le code que tu utilises ?
Le chemin complet est le suivant :
C:\Documents and Settings\claire.nonglaton\Mes documents\E-mail Important\TX AA\Année_2012\RATIOS et après je choisi le fichier du mois concerné donc par exemple "Ratio_tx_AA_suivi_2011_20212_10"
Cordialement,
Clair
Je veux dire la macro.
Cordialement.
Daniel
La plus perdue de toutes les journées est celle où l'on n'a pas ri. Chamfort
Ha oui pardon, celle là
ou celle-ci :
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 Dim Wbk As Workbook Dim Fich As Variant Application.ScreenUpdating = False Fich = Application.GetOpenFilename(("Excel Files (*.xls*), *.xls*")) If Fich <> False Then Set Wbk = Workbooks.Open(Fich) With ThisWorkbook.Worksheets("Détails Site") With .Range("X4:X3427") .FormulaR1C1 = "=VLOOKUP(RC[-16],'[" & Wbk.Name & "]Rapport Final'!C8:C15,8,FALSE)" .Value = .Value .Replace "#N/A", "" End With With .Range("Y4:Y3427") .FormulaR1C1 = "=VLOOKUP(RC[-17],'[" & Wbk.Name & "]Rapport Final'!C8:C18,11,FALSE)" .Value = .Value .Replace "#N/A", "" End With With .Range("AA4:AA3427") .FormulaR1C1 = "=VLOOKUP(RC[-19],'[" & Wbk.Name & "]Rapport Final'!C8:C20,13,FALSE)" .Value = .Value .Replace "#N/A", "" End With With .Range("AB4:AB3427") .FormulaR1C1 = "=VLOOKUP(RC[-20],'[" & Wbk.Name & "]Rapport Final'!C8:C23,16,FALSE)" .Value = .Value .Replace "#N/A", "" End With End With Wbk.Close False Set Wbk = Nothing End If End Sub
Cordialement,
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 Dim Wbk As Workbook Dim Fich As Variant Dim Mois As Integer Dim Plage As String Application.ScreenUpdating = False Fich = Application.GetOpenFilename(("Excel Files (*.xls*), *.xls*")) Mois = CInt(Mid(Fich, InStrRev(Fich, ".") - 2, 2)) - 9 If Mois < 0 Then Mois = Mois + 12 If Fich <> False Then Set Wbk = Workbooks.Open(Fich) With ThisWorkbook.Worksheets("Détails Site") With .Range("X5:X3427").Offset(, Mois * 10) .FormulaR1C1 = "=VLOOKUP(RC[-16],'[" & Wbk.Name & "]Rapport Final'!C8:C15,8,FALSE)" .Value = .Value .Replace "#N/A", "" End With With .Range("Y5:Y3427").Offset(, Mois * 10) .FormulaR1C1 = "=VLOOKUP(RC[-17],'[" & Wbk.Name & "]Rapport Final'!C8:C18,11,FALSE)" .Value = .Value .Replace "#N/A", "" End With With .Range("AA4:AA3427").Offset(, Mois * 10) .FormulaR1C1 = "=VLOOKUP(RC[-19],'[" & Wbk.Name & "]Rapport Final'!C8:C20,13,FALSE)" .Value = .Value .Replace "#N/A", "" End With With .Range("AB4:AB3427").Offset(, Mois * 10) .FormulaR1C1 = "=VLOOKUP(RC[-20],'[" & Wbk.Name & "]Rapport Final'!C8:C23,16,FALSE)" .Value = .Value .Replace "#N/A", "" End With End With Wbk.Close False Set Wbk = Nothing End If End Sub
Clair
Je ne sais pas. Celle qui ne décale pas quand on est avec le mois d'octobre.
Cordialement.
Daniel
La plus perdue de toutes les journées est celle où l'on n'a pas ri. Chamfort
Bonjour Daniel,
Les deux macros transmisent hier marchent mais toutes les deux ne décalent pas quand on est avec le mois d'octobre.
Cordialement,
Claire
Si tu le veux bien, et comme je ne peux pas comparer les diverses macros, on va repartir avec celle-ci. A l'exécution, deux msgboxes vont s'afficher :
- la variable "Mois" (merci mercatog)
-l'adresse de la première plage du mois d'octobre (colonne AH)
Merci de poster ce que les deux msgbox affichent ainsi que le nom du fichier :
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 Sub Test4() 'Réf. Fichier de base.xls Dim Wbk As Workbook Dim Fich As Variant Dim Mois As Integer Dim Plage As String Application.ScreenUpdating = False Fich = Application.GetOpenFilename(("Excel Files (*.xls*), *.xls*")) Mois = CInt(Mid(Fich, InStrRev(Fich, ".") - 2, 2)) - 9 If Mois < 0 Then Mois = Mois + 12 MsgBox Mois If Fich <> False Then Set Wbk = Workbooks.Open(Fich) With ThisWorkbook.Worksheets("Détails Site") With .Range("X5:X3427").Offset(, Mois * 10) MsgBox .Address .FormulaR1C1 = "=VLOOKUP(RC[-16],'[" & Wbk.Name & "]Rapport Final'!C8:C15,8,FALSE)" .Value = .Value .Replace "#N/A", "" End With With .Range("Y5:Y3427").Offset(, Mois * 10) .FormulaR1C1 = "=VLOOKUP(RC[-17],'[" & Wbk.Name & "]Rapport Final'!C8:C18,11,FALSE)" .Value = .Value .Replace "#N/A", "" End With With .Range("AA4:AA3427").Offset(, Mois * 10) .FormulaR1C1 = "=VLOOKUP(RC[-19],'[" & Wbk.Name & "]Rapport Final'!C8:C20,13,FALSE)" .Value = .Value .Replace "#N/A", "" End With With .Range("AB4:AB3427").Offset(, Mois * 10) .FormulaR1C1 "=VLOOKUP(RC[-20],'[" & Wbk.Name & "]Rapport Final'!C8:C23,16,FALSE)" .Value = .Value .Replace "#N/A", "" End With End With Wbk.Close False Set Wbk = Nothing End If End Sub
Cordialement.
Daniel
La plus perdue de toutes les journées est celle où l'on n'a pas ri. Chamfort
Merci Daniel pour cet essaie!
Alors la première Msgbox affiche : 0
La deuxième Msgbox affiche : $X$5:$X$3427
Le nom du fichier pour le mois d'octobre est le suivant : RATIO_tx_AA_suivi_2011_2012_10.XLS
La deuxième Msgbox m'affiche les colonnes du mois de Septembre donc ça ne se décalle pas.
Cordialement,
Clair
Bon. On ne va pas s'obstiner. J'ai mis une inputbox :
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 Sub Test4() 'Réf. Fichier de base.xls Dim Wbk As Workbook Dim Fich As Variant Dim Mois As Variant Dim Plage As String Application.ScreenUpdating = False Fich = Application.GetOpenFilename(("Excel Files (*.xls*), *.xls*")) 'Mois = CInt(Mid(Fich, InStrRev(Fich, ".") - 2, 2)) - 9 Mois = InputBox("entrez le numéro du mois") If IsNumeric(Mois) Then Mois = CInt(Mois) - 9 Else MsgBox "Saisie incorrecte : " & Mois Exit Sub End If If Mois < 0 Then Mois = Mois + 12 MsgBox Mois If Fich <> False Then Set Wbk = Workbooks.Open(Fich) With ThisWorkbook.Worksheets("Détails Site") With .Range("X5:X3427").Offset(, Mois * 10) MsgBox .Address .FormulaR1C1 = "=VLOOKUP(RC[-16],'[" & Wbk.Name & "]Rapport Final'!C8:C15,8,FALSE)" .Value = .Value .Replace "#N/A", "" End With With .Range("Y5:Y3427").Offset(, Mois * 10) .FormulaR1C1 = "=VLOOKUP(RC[-17],'[" & Wbk.Name & "]Rapport Final'!C8:C18,11,FALSE)" .Value = .Value .Replace "#N/A", "" End With With .Range("AA4:AA3427").Offset(, Mois * 10) .FormulaR1C1 = "=VLOOKUP(RC[-19],'[" & Wbk.Name & "]Rapport Final'!C8:C20,13,FALSE)" .Value = .Value .Replace "#N/A", "" End With With .Range("AB4:AB3427").Offset(, Mois * 10) .FormulaR1C1 "=VLOOKUP(RC[-20],'[" & Wbk.Name & "]Rapport Final'!C8:C23,16,FALSE)" .Value = .Value .Replace "#N/A", "" End With End With Wbk.Close False Set Wbk = Nothing End If End Sub
Cordialement.
Daniel
La plus perdue de toutes les journées est celle où l'on n'a pas ri. Chamfort
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager