Bonjour à tous,
Voilà, je dispose d'une belle macro, qui fonctionne très bien, mais à
l'usage, je me suis rendu compte d'un petit inconvénient,
le rôle de cette macro, est de prendre quelques références dans un classeur
"Facturation" pour les transférer dans un classeur "Récap"
le défaut, c'est quand je sauvegarde le classeur"Facturation" avec
enregistré sous :"Nom du Client"
Et bien la macro ne fonctionne plus, j'imagine qu'il faudrait remplacer l es
mots "Facturation" dans le code de procédure, par quelque
chose.............de savant...!!..... que je ne connais pas...!!
Cordialement...............Merci d'avance...!!............DC
Public mois
Sub Récapit()
Dim Z As Integer, Question As String
'Dim mois
'Workbooks.Open Filename:= _
'"C:Documents and SettingsDanielMes documentsDaniel tous
ensemblesDaniel TableurRécap.xls"
'ChDir "C:Documents and SettingsDanielMes documentsDaniel tous
ensemblesDaniel TableurRécap.xls"
'Workbooks.Open ("Recap.xls")
'Application.Run "Facture.xls!Récapit"
Workbooks("Récap.xls").Activate
Range("A65536").End(xlUp).Offset(1, 0).Activate
For i = 1 To Workbooks("Récap.xls").Sheets.Count
X = X & i & "...." & Workbooks("Récap.xls").Sheets(i).Name & Chr(10)
Next
mois = Val(InputBox("Feuilles disponibles" & Chr(10) & Chr(10) & X & Ch r(10)
& "Entrez le numéro de la feuille de destination", "Sélection", mois))
If mois < 1 Or mois > i - 1 Then Exit Sub
derlg = Workbooks("Récap.xls").Sheets(mois).Range("A65536").End(3).Ro w + 1
Workbooks("Récap.xls").Sheets(mois).Range("a" & derlg) = _
Workbooks("Facturation.xls").Sheets("Feuil3").[Numéro].Value
Workbooks("Récap.xls").Sheets(mois).Range("c" & derlg) = _
Workbooks("Facturation.xls").Sheets("Feuil3").[Sit.].Value
Workbooks("Récap.xls").Sheets(mois).Range("d" & derlg) = _
Workbooks("Facturation.xls").Sheets("Feuil3").[Nom].Value
Workbooks("Récap.xls").Sheets(mois).Range("b" & derlg) = _
Workbooks("Facturation.xls").Sheets("Feuil3").[Date].Value
Workbooks("Récap.xls").Sheets(mois).Range("E" & derlg) = _
Workbooks("Facturation.xls").Sheets("Feuil3").[ht].Value
Workbooks("Récap.xls").Sheets(mois).Range("h" & derlg) = _
Workbooks("Facturation.xls").Sheets("Feuil3").[ttc].Value
'*************
Application.ScreenUpdating = False
Windows("Récap.xls").Activate
Sheets(mois).Activate
y = Int((Range("H" & derlg) / Range("E" & derlg) - 1) * 100)
If y = 19 Then
Range("F" & derlg) = Range("H" & derlg) - Range("E" & derlg)
Range("G" & derlg) = ""
ElseIf y = 5 Then
Range("G" & derlg) = Range("H" & derlg) - Range("E" & derlg)
Range("F" & derlg) = ""
Else
Range("G" & derlg) = ""
Range("F" & derlg) = ""
MsgBox "TVA de " & y & "% inconnue"
End If
ActiveCell.Offset(1, 0).Range("A1").Select
Application.ScreenUpdating = True
Windows("Récap.xls").Activate
'MsgBox "Traitement terminé", vbInformation
'ActiveWorkbook.Save
'ActiveWorkbook.Close
'Question = "Traitement terminé ?"
'If MsgBox(Question, vbYesNo + vbQuestion) = vbNo Then
'Exit Sub
'End If
'ActiveWorkbook.Save
'ActiveWorkbook.Close
End Sub
Bonjour à tous,
Voilà, je dispose d'une belle macro, qui fonctionne très bien, mais à
l'usage, je me suis rendu compte d'un petit inconvénient,
le rôle de cette macro, est de prendre quelques références dans un classeur
"Facturation" pour les transférer dans un classeur "Récap"
le défaut, c'est quand je sauvegarde le classeur"Facturation" avec
enregistré sous :"Nom du Client"
Et bien la macro ne fonctionne plus, j'imagine qu'il faudrait remplacer l es
mots "Facturation" dans le code de procédure, par quelque
chose.............de savant...!!..... que je ne connais pas...!!
Cordialement...............Merci d'avance...!!............DC
Public mois
Sub Récapit()
Dim Z As Integer, Question As String
'Dim mois
'Workbooks.Open Filename:= _
'"C:Documents and SettingsDanielMes documentsDaniel tous
ensemblesDaniel TableurRécap.xls"
'ChDir "C:Documents and SettingsDanielMes documentsDaniel tous
ensemblesDaniel TableurRécap.xls"
'Workbooks.Open ("Recap.xls")
'Application.Run "Facture.xls!Récapit"
Workbooks("Récap.xls").Activate
Range("A65536").End(xlUp).Offset(1, 0).Activate
For i = 1 To Workbooks("Récap.xls").Sheets.Count
X = X & i & "...." & Workbooks("Récap.xls").Sheets(i).Name & Chr(10)
Next
mois = Val(InputBox("Feuilles disponibles" & Chr(10) & Chr(10) & X & Ch r(10)
& "Entrez le numéro de la feuille de destination", "Sélection", mois))
If mois < 1 Or mois > i - 1 Then Exit Sub
derlg = Workbooks("Récap.xls").Sheets(mois).Range("A65536").End(3).Ro w + 1
Workbooks("Récap.xls").Sheets(mois).Range("a" & derlg) = _
Workbooks("Facturation.xls").Sheets("Feuil3").[Numéro].Value
Workbooks("Récap.xls").Sheets(mois).Range("c" & derlg) = _
Workbooks("Facturation.xls").Sheets("Feuil3").[Sit.].Value
Workbooks("Récap.xls").Sheets(mois).Range("d" & derlg) = _
Workbooks("Facturation.xls").Sheets("Feuil3").[Nom].Value
Workbooks("Récap.xls").Sheets(mois).Range("b" & derlg) = _
Workbooks("Facturation.xls").Sheets("Feuil3").[Date].Value
Workbooks("Récap.xls").Sheets(mois).Range("E" & derlg) = _
Workbooks("Facturation.xls").Sheets("Feuil3").[ht].Value
Workbooks("Récap.xls").Sheets(mois).Range("h" & derlg) = _
Workbooks("Facturation.xls").Sheets("Feuil3").[ttc].Value
'*************
Application.ScreenUpdating = False
Windows("Récap.xls").Activate
Sheets(mois).Activate
y = Int((Range("H" & derlg) / Range("E" & derlg) - 1) * 100)
If y = 19 Then
Range("F" & derlg) = Range("H" & derlg) - Range("E" & derlg)
Range("G" & derlg) = ""
ElseIf y = 5 Then
Range("G" & derlg) = Range("H" & derlg) - Range("E" & derlg)
Range("F" & derlg) = ""
Else
Range("G" & derlg) = ""
Range("F" & derlg) = ""
MsgBox "TVA de " & y & "% inconnue"
End If
ActiveCell.Offset(1, 0).Range("A1").Select
Application.ScreenUpdating = True
Windows("Récap.xls").Activate
'MsgBox "Traitement terminé", vbInformation
'ActiveWorkbook.Save
'ActiveWorkbook.Close
'Question = "Traitement terminé ?"
'If MsgBox(Question, vbYesNo + vbQuestion) = vbNo Then
'Exit Sub
'End If
'ActiveWorkbook.Save
'ActiveWorkbook.Close
End Sub
Bonjour à tous,
Voilà, je dispose d'une belle macro, qui fonctionne très bien, mais à
l'usage, je me suis rendu compte d'un petit inconvénient,
le rôle de cette macro, est de prendre quelques références dans un classeur
"Facturation" pour les transférer dans un classeur "Récap"
le défaut, c'est quand je sauvegarde le classeur"Facturation" avec
enregistré sous :"Nom du Client"
Et bien la macro ne fonctionne plus, j'imagine qu'il faudrait remplacer l es
mots "Facturation" dans le code de procédure, par quelque
chose.............de savant...!!..... que je ne connais pas...!!
Cordialement...............Merci d'avance...!!............DC
Public mois
Sub Récapit()
Dim Z As Integer, Question As String
'Dim mois
'Workbooks.Open Filename:= _
'"C:Documents and SettingsDanielMes documentsDaniel tous
ensemblesDaniel TableurRécap.xls"
'ChDir "C:Documents and SettingsDanielMes documentsDaniel tous
ensemblesDaniel TableurRécap.xls"
'Workbooks.Open ("Recap.xls")
'Application.Run "Facture.xls!Récapit"
Workbooks("Récap.xls").Activate
Range("A65536").End(xlUp).Offset(1, 0).Activate
For i = 1 To Workbooks("Récap.xls").Sheets.Count
X = X & i & "...." & Workbooks("Récap.xls").Sheets(i).Name & Chr(10)
Next
mois = Val(InputBox("Feuilles disponibles" & Chr(10) & Chr(10) & X & Ch r(10)
& "Entrez le numéro de la feuille de destination", "Sélection", mois))
If mois < 1 Or mois > i - 1 Then Exit Sub
derlg = Workbooks("Récap.xls").Sheets(mois).Range("A65536").End(3).Ro w + 1
Workbooks("Récap.xls").Sheets(mois).Range("a" & derlg) = _
Workbooks("Facturation.xls").Sheets("Feuil3").[Numéro].Value
Workbooks("Récap.xls").Sheets(mois).Range("c" & derlg) = _
Workbooks("Facturation.xls").Sheets("Feuil3").[Sit.].Value
Workbooks("Récap.xls").Sheets(mois).Range("d" & derlg) = _
Workbooks("Facturation.xls").Sheets("Feuil3").[Nom].Value
Workbooks("Récap.xls").Sheets(mois).Range("b" & derlg) = _
Workbooks("Facturation.xls").Sheets("Feuil3").[Date].Value
Workbooks("Récap.xls").Sheets(mois).Range("E" & derlg) = _
Workbooks("Facturation.xls").Sheets("Feuil3").[ht].Value
Workbooks("Récap.xls").Sheets(mois).Range("h" & derlg) = _
Workbooks("Facturation.xls").Sheets("Feuil3").[ttc].Value
'*************
Application.ScreenUpdating = False
Windows("Récap.xls").Activate
Sheets(mois).Activate
y = Int((Range("H" & derlg) / Range("E" & derlg) - 1) * 100)
If y = 19 Then
Range("F" & derlg) = Range("H" & derlg) - Range("E" & derlg)
Range("G" & derlg) = ""
ElseIf y = 5 Then
Range("G" & derlg) = Range("H" & derlg) - Range("E" & derlg)
Range("F" & derlg) = ""
Else
Range("G" & derlg) = ""
Range("F" & derlg) = ""
MsgBox "TVA de " & y & "% inconnue"
End If
ActiveCell.Offset(1, 0).Range("A1").Select
Application.ScreenUpdating = True
Windows("Récap.xls").Activate
'MsgBox "Traitement terminé", vbInformation
'ActiveWorkbook.Save
'ActiveWorkbook.Close
'Question = "Traitement terminé ?"
'If MsgBox(Question, vbYesNo + vbQuestion) = vbNo Then
'Exit Sub
'End If
'ActiveWorkbook.Save
'ActiveWorkbook.Close
End Sub
erratum. c'est bien sur Workbooks("Facturation.xls") qu'l faut
comprendre
erratum. c'est bien sur Workbooks("Facturation.xls") qu'l faut
comprendre
erratum. c'est bien sur Workbooks("Facturation.xls") qu'l faut
comprendre
erratum. c'est bien sur Workbooks("Facturation.xls") qu'l faut
comprendre
erratum. c'est bien sur Workbooks("Facturation.xls") qu'l faut
comprendre
erratum. c'est bien sur Workbooks("Facturation.xls") qu'l faut
comprendre
Dans ces conditions, il faut oublier Thisworkbook. Si tu as sauvegardé
le classeur facturation à un moment donné, tu peux en récupérer le
nom (il a bien fallu que tu le trouves quelquepart) et au lieu
d'écrire Workbooks("Facturation.xls") , écrire
nomclass="nomduclient" &".xls"
Workbooks("Récap.xls").Sheets(mois).Range("d" & derlg) = _
Workbooks(nomduclient).Sheets("Feuil3").[Nom].Value
A+
Dans ces conditions, il faut oublier Thisworkbook. Si tu as sauvegardé
le classeur facturation à un moment donné, tu peux en récupérer le
nom (il a bien fallu que tu le trouves quelquepart) et au lieu
d'écrire Workbooks("Facturation.xls") , écrire
nomclass="nomduclient" &".xls"
Workbooks("Récap.xls").Sheets(mois).Range("d" & derlg) = _
Workbooks(nomduclient).Sheets("Feuil3").[Nom].Value
A+
Dans ces conditions, il faut oublier Thisworkbook. Si tu as sauvegardé
le classeur facturation à un moment donné, tu peux en récupérer le
nom (il a bien fallu que tu le trouves quelquepart) et au lieu
d'écrire Workbooks("Facturation.xls") , écrire
nomclass="nomduclient" &".xls"
Workbooks("Récap.xls").Sheets(mois).Range("d" & derlg) = _
Workbooks(nomduclient).Sheets("Feuil3").[Nom].Value
A+
Bonjour DC,
| change pas le nom du classeur "Facturation" par le "nom du client",
Bien c'est justement cela, après avoir changer son nom, ton code, continue
d'utilise en dur le nom de "Facturation" comme nom du
classeur et ce dernier n'existe plus puisqu'il a changé de nom !
Il faudrait probablement que tu fasses une vérification plus serré !
Salutations!
"DC" a écrit dans le message de news:
43722f5a$0$18324$
Bonsoir à tous.....Bonsoir anonymousA...et...michdenis...et...Oliv',
Merci...!!........à tous,
Je ne pense pas qu'il puisse y avoir une erreur, puisque tant que je ne
change pas le nom du classeur "Facturation" par le "nom du client", la
procédure fonctionne trés bien, (michdenis)
par contre, j'ai appliqué ta nouvelle écriture (anonymousA) et c'est
toujours refusée,
Une question Messieurs, ne peut-on pas avoir autre chose que le nom du
classeur comme référence...(nom de feuil3....réf. de code feuille...ou
autre....) qui eux ne changeraient pas, ou bien un principe relatif qui
accepterait n'importe quel nom,
A savoir, qu'au moment du lancement de la macro, il y à toujours 3
classeurs
d'ouvert soit : "Code-9" + "Facturation transformé en Nom du client" +
"Récap" et la macro qui se trouve dans "Code-9" est activée par un bouton
dans "Récap"
La procédure ci-jointe fonctionne, tant que je ne change pas le nom
"Facturation" par le "nom du client"
'---------------------------------
Public mois
Sub Récapit()
Dim Z As Integer, Question As String
Workbooks("Récap.xls").Activate
Range("A65536").End(xlUp).Offset(1, 0).Activate
For i = 1 To Workbooks("Récap.xls").Sheets.Count
X = X & i & "...." & Workbooks("Récap.xls").Sheets(i).Name & Chr(10)
Next
mois = Val(InputBox("Feuilles disponibles" & Chr(10) & Chr(10) & X &
Chr(10)
& "Entrez le numéro de la feuille de destination", "Sélection", mois))
If mois < 1 Or mois > i - 1 Then Exit Sub
derlg = Workbooks("Récap.xls").Sheets(mois).Range("A65536").End(3).Row + 1
Workbooks("Récap.xls").Sheets(mois).Range("a" & derlg) = _
Workbooks("Facturation.xls").Sheets("Feuil3").[Numéro].Value
Workbooks("Récap.xls").Sheets(mois).Range("c" & derlg) = _
Workbooks("Facturation.xls").Sheets("Feuil3").[Sit.].Value
Workbooks("Récap.xls").Sheets(mois).Range("d" & derlg) = _
Workbooks("Facturation.xls").Sheets("Feuil3").[Nom].Value
Workbooks("Récap.xls").Sheets(mois).Range("b" & derlg) = _
Workbooks("Facturation.xls").Sheets("Feuil3").[Date].Value
Workbooks("Récap.xls").Sheets(mois).Range("E" & derlg) = _
Workbooks("Facturation.xls").Sheets("Feuil3").[ht].Value
Workbooks("Récap.xls").Sheets(mois).Range("h" & derlg) = _
Workbooks("Facturation.xls").Sheets("Feuil3").[ttc].Value
'*************
Application.ScreenUpdating = False
Windows("Récap.xls").Activate
Sheets(mois).Activate
y = Int((Range("H" & derlg) / Range("E" & derlg) - 1) * 100)
If y = 19 Then
Range("F" & derlg) = Range("H" & derlg) - Range("E" & derlg)
Range("G" & derlg) = ""
ElseIf y = 5 Then
Range("G" & derlg) = Range("H" & derlg) - Range("E" & derlg)
Range("F" & derlg) = ""
Else
Range("G" & derlg) = ""
Range("F" & derlg) = ""
MsgBox "TVA de " & y & "% inconnue"
End If
ActiveCell.Offset(1, 0).Range("A1").Select
Application.ScreenUpdating = True
Windows("Récap.xls").Activate
End Sub
'---------------------------------------------------
Salutations!............encore un grand Merci...!!........bonne soirée!
DC
"anonymousA" a écrit dans le message de news:
Dans ces conditions, il faut oublier Thisworkbook. Si tu as sauvegardé
le classeur facturation à un moment donné, tu peux en récupérer le
nom (il a bien fallu que tu le trouves quelquepart) et au lieu
d'écrire Workbooks("Facturation.xls") , écrire
nomclass="nomduclient" &".xls"
Workbooks("Récap.xls").Sheets(mois).Range("d" & derlg) = _
Workbooks(nomduclient).Sheets("Feuil3").[Nom].Value
A+
Bonjour DC,
| change pas le nom du classeur "Facturation" par le "nom du client",
Bien c'est justement cela, après avoir changer son nom, ton code, continue
d'utilise en dur le nom de "Facturation" comme nom du
classeur et ce dernier n'existe plus puisqu'il a changé de nom !
Il faudrait probablement que tu fasses une vérification plus serré !
Salutations!
"DC" <da.campion@hotmail.fr> a écrit dans le message de news:
43722f5a$0$18324$8fcfb975@news.wanadoo.fr...
Bonsoir à tous.....Bonsoir anonymousA...et...michdenis...et...Oliv',
Merci...!!........à tous,
Je ne pense pas qu'il puisse y avoir une erreur, puisque tant que je ne
change pas le nom du classeur "Facturation" par le "nom du client", la
procédure fonctionne trés bien, (michdenis)
par contre, j'ai appliqué ta nouvelle écriture (anonymousA) et c'est
toujours refusée,
Une question Messieurs, ne peut-on pas avoir autre chose que le nom du
classeur comme référence...(nom de feuil3....réf. de code feuille...ou
autre....) qui eux ne changeraient pas, ou bien un principe relatif qui
accepterait n'importe quel nom,
A savoir, qu'au moment du lancement de la macro, il y à toujours 3
classeurs
d'ouvert soit : "Code-9" + "Facturation transformé en Nom du client" +
"Récap" et la macro qui se trouve dans "Code-9" est activée par un bouton
dans "Récap"
La procédure ci-jointe fonctionne, tant que je ne change pas le nom
"Facturation" par le "nom du client"
'---------------------------------
Public mois
Sub Récapit()
Dim Z As Integer, Question As String
Workbooks("Récap.xls").Activate
Range("A65536").End(xlUp).Offset(1, 0).Activate
For i = 1 To Workbooks("Récap.xls").Sheets.Count
X = X & i & "...." & Workbooks("Récap.xls").Sheets(i).Name & Chr(10)
Next
mois = Val(InputBox("Feuilles disponibles" & Chr(10) & Chr(10) & X &
Chr(10)
& "Entrez le numéro de la feuille de destination", "Sélection", mois))
If mois < 1 Or mois > i - 1 Then Exit Sub
derlg = Workbooks("Récap.xls").Sheets(mois).Range("A65536").End(3).Row + 1
Workbooks("Récap.xls").Sheets(mois).Range("a" & derlg) = _
Workbooks("Facturation.xls").Sheets("Feuil3").[Numéro].Value
Workbooks("Récap.xls").Sheets(mois).Range("c" & derlg) = _
Workbooks("Facturation.xls").Sheets("Feuil3").[Sit.].Value
Workbooks("Récap.xls").Sheets(mois).Range("d" & derlg) = _
Workbooks("Facturation.xls").Sheets("Feuil3").[Nom].Value
Workbooks("Récap.xls").Sheets(mois).Range("b" & derlg) = _
Workbooks("Facturation.xls").Sheets("Feuil3").[Date].Value
Workbooks("Récap.xls").Sheets(mois).Range("E" & derlg) = _
Workbooks("Facturation.xls").Sheets("Feuil3").[ht].Value
Workbooks("Récap.xls").Sheets(mois).Range("h" & derlg) = _
Workbooks("Facturation.xls").Sheets("Feuil3").[ttc].Value
'*************
Application.ScreenUpdating = False
Windows("Récap.xls").Activate
Sheets(mois).Activate
y = Int((Range("H" & derlg) / Range("E" & derlg) - 1) * 100)
If y = 19 Then
Range("F" & derlg) = Range("H" & derlg) - Range("E" & derlg)
Range("G" & derlg) = ""
ElseIf y = 5 Then
Range("G" & derlg) = Range("H" & derlg) - Range("E" & derlg)
Range("F" & derlg) = ""
Else
Range("G" & derlg) = ""
Range("F" & derlg) = ""
MsgBox "TVA de " & y & "% inconnue"
End If
ActiveCell.Offset(1, 0).Range("A1").Select
Application.ScreenUpdating = True
Windows("Récap.xls").Activate
End Sub
'---------------------------------------------------
Salutations!............encore un grand Merci...!!........bonne soirée!
DC
"anonymousA" <anonymousA@wanadoo.fr> a écrit dans le message de news:
1131545605.506808.151110@g44g2000cwa.googlegroups.com...
Dans ces conditions, il faut oublier Thisworkbook. Si tu as sauvegardé
le classeur facturation à un moment donné, tu peux en récupérer le
nom (il a bien fallu que tu le trouves quelquepart) et au lieu
d'écrire Workbooks("Facturation.xls") , écrire
nomclass="nomduclient" &".xls"
Workbooks("Récap.xls").Sheets(mois).Range("d" & derlg) = _
Workbooks(nomduclient).Sheets("Feuil3").[Nom].Value
A+
Bonjour DC,
| change pas le nom du classeur "Facturation" par le "nom du client",
Bien c'est justement cela, après avoir changer son nom, ton code, continue
d'utilise en dur le nom de "Facturation" comme nom du
classeur et ce dernier n'existe plus puisqu'il a changé de nom !
Il faudrait probablement que tu fasses une vérification plus serré !
Salutations!
"DC" a écrit dans le message de news:
43722f5a$0$18324$
Bonsoir à tous.....Bonsoir anonymousA...et...michdenis...et...Oliv',
Merci...!!........à tous,
Je ne pense pas qu'il puisse y avoir une erreur, puisque tant que je ne
change pas le nom du classeur "Facturation" par le "nom du client", la
procédure fonctionne trés bien, (michdenis)
par contre, j'ai appliqué ta nouvelle écriture (anonymousA) et c'est
toujours refusée,
Une question Messieurs, ne peut-on pas avoir autre chose que le nom du
classeur comme référence...(nom de feuil3....réf. de code feuille...ou
autre....) qui eux ne changeraient pas, ou bien un principe relatif qui
accepterait n'importe quel nom,
A savoir, qu'au moment du lancement de la macro, il y à toujours 3
classeurs
d'ouvert soit : "Code-9" + "Facturation transformé en Nom du client" +
"Récap" et la macro qui se trouve dans "Code-9" est activée par un bouton
dans "Récap"
La procédure ci-jointe fonctionne, tant que je ne change pas le nom
"Facturation" par le "nom du client"
'---------------------------------
Public mois
Sub Récapit()
Dim Z As Integer, Question As String
Workbooks("Récap.xls").Activate
Range("A65536").End(xlUp).Offset(1, 0).Activate
For i = 1 To Workbooks("Récap.xls").Sheets.Count
X = X & i & "...." & Workbooks("Récap.xls").Sheets(i).Name & Chr(10)
Next
mois = Val(InputBox("Feuilles disponibles" & Chr(10) & Chr(10) & X &
Chr(10)
& "Entrez le numéro de la feuille de destination", "Sélection", mois))
If mois < 1 Or mois > i - 1 Then Exit Sub
derlg = Workbooks("Récap.xls").Sheets(mois).Range("A65536").End(3).Row + 1
Workbooks("Récap.xls").Sheets(mois).Range("a" & derlg) = _
Workbooks("Facturation.xls").Sheets("Feuil3").[Numéro].Value
Workbooks("Récap.xls").Sheets(mois).Range("c" & derlg) = _
Workbooks("Facturation.xls").Sheets("Feuil3").[Sit.].Value
Workbooks("Récap.xls").Sheets(mois).Range("d" & derlg) = _
Workbooks("Facturation.xls").Sheets("Feuil3").[Nom].Value
Workbooks("Récap.xls").Sheets(mois).Range("b" & derlg) = _
Workbooks("Facturation.xls").Sheets("Feuil3").[Date].Value
Workbooks("Récap.xls").Sheets(mois).Range("E" & derlg) = _
Workbooks("Facturation.xls").Sheets("Feuil3").[ht].Value
Workbooks("Récap.xls").Sheets(mois).Range("h" & derlg) = _
Workbooks("Facturation.xls").Sheets("Feuil3").[ttc].Value
'*************
Application.ScreenUpdating = False
Windows("Récap.xls").Activate
Sheets(mois).Activate
y = Int((Range("H" & derlg) / Range("E" & derlg) - 1) * 100)
If y = 19 Then
Range("F" & derlg) = Range("H" & derlg) - Range("E" & derlg)
Range("G" & derlg) = ""
ElseIf y = 5 Then
Range("G" & derlg) = Range("H" & derlg) - Range("E" & derlg)
Range("F" & derlg) = ""
Else
Range("G" & derlg) = ""
Range("F" & derlg) = ""
MsgBox "TVA de " & y & "% inconnue"
End If
ActiveCell.Offset(1, 0).Range("A1").Select
Application.ScreenUpdating = True
Windows("Récap.xls").Activate
End Sub
'---------------------------------------------------
Salutations!............encore un grand Merci...!!........bonne soirée!
DC
"anonymousA" a écrit dans le message de news:
Dans ces conditions, il faut oublier Thisworkbook. Si tu as sauvegardé
le classeur facturation à un moment donné, tu peux en récupérer le
nom (il a bien fallu que tu le trouves quelquepart) et au lieu
d'écrire Workbooks("Facturation.xls") , écrire
nomclass="nomduclient" &".xls"
Workbooks("Récap.xls").Sheets(mois).Range("d" & derlg) = _
Workbooks(nomduclient).Sheets("Feuil3").[Nom].Value
A+
Bonjour DC,
| change pas le nom du classeur "Facturation" par le "nom du client",
Bien c'est justement cela, après avoir changer son nom, ton code, continue
d'utilise en dur le nom de "Facturation" comme nom du
classeur et ce dernier n'existe plus puisqu'il a changé de nom !
Il faudrait probablement que tu fasses une vérification plus serré !
Salutations!
"DC" a écrit dans le message de news:
43722f5a$0$18324$
Bonsoir à tous.....Bonsoir anonymousA...et...michdenis...et...Oliv',
Merci...!!........à tous,
Je ne pense pas qu'il puisse y avoir une erreur, puisque tant que je ne
change pas le nom du classeur "Facturation" par le "nom du client", la
procédure fonctionne trés bien, (michdenis)
par contre, j'ai appliqué ta nouvelle écriture (anonymousA) et c'est
toujours refusée,
Une question Messieurs, ne peut-on pas avoir autre chose que le nom du
classeur comme référence...(nom de feuil3....réf. de code feuille...ou
autre....) qui eux ne changeraient pas, ou bien un principe relatif qui
accepterait n'importe quel nom,
A savoir, qu'au moment du lancement de la macro, il y à toujours 3
classeurs
d'ouvert soit : "Code-9" + "Facturation transformé en Nom du client" +
"Récap" et la macro qui se trouve dans "Code-9" est activée par un bouton
dans "Récap"
La procédure ci-jointe fonctionne, tant que je ne change pas le nom
"Facturation" par le "nom du client"
'---------------------------------
Public mois
Sub Récapit()
Dim Z As Integer, Question As String
Workbooks("Récap.xls").Activate
Range("A65536").End(xlUp).Offset(1, 0).Activate
For i = 1 To Workbooks("Récap.xls").Sheets.Count
X = X & i & "...." & Workbooks("Récap.xls").Sheets(i).Name & Chr(10)
Next
mois = Val(InputBox("Feuilles disponibles" & Chr(10) & Chr(10) & X &
Chr(10)
& "Entrez le numéro de la feuille de destination", "Sélection", mois))
If mois < 1 Or mois > i - 1 Then Exit Sub
derlg = Workbooks("Récap.xls").Sheets(mois).Range("A65536").End(3).Row + 1
Workbooks("Récap.xls").Sheets(mois).Range("a" & derlg) = _
Workbooks("Facturation.xls").Sheets("Feuil3").[Numéro].Value
Workbooks("Récap.xls").Sheets(mois).Range("c" & derlg) = _
Workbooks("Facturation.xls").Sheets("Feuil3").[Sit.].Value
Workbooks("Récap.xls").Sheets(mois).Range("d" & derlg) = _
Workbooks("Facturation.xls").Sheets("Feuil3").[Nom].Value
Workbooks("Récap.xls").Sheets(mois).Range("b" & derlg) = _
Workbooks("Facturation.xls").Sheets("Feuil3").[Date].Value
Workbooks("Récap.xls").Sheets(mois).Range("E" & derlg) = _
Workbooks("Facturation.xls").Sheets("Feuil3").[ht].Value
Workbooks("Récap.xls").Sheets(mois).Range("h" & derlg) = _
Workbooks("Facturation.xls").Sheets("Feuil3").[ttc].Value
'*************
Application.ScreenUpdating = False
Windows("Récap.xls").Activate
Sheets(mois).Activate
y = Int((Range("H" & derlg) / Range("E" & derlg) - 1) * 100)
If y = 19 Then
Range("F" & derlg) = Range("H" & derlg) - Range("E" & derlg)
Range("G" & derlg) = ""
ElseIf y = 5 Then
Range("G" & derlg) = Range("H" & derlg) - Range("E" & derlg)
Range("F" & derlg) = ""
Else
Range("G" & derlg) = ""
Range("F" & derlg) = ""
MsgBox "TVA de " & y & "% inconnue"
End If
ActiveCell.Offset(1, 0).Range("A1").Select
Application.ScreenUpdating = True
Windows("Récap.xls").Activate
End Sub
'---------------------------------------------------
Salutations!............encore un grand Merci...!!........bonne soirée!
DC
"anonymousA" a écrit dans le message de news:
Dans ces conditions, il faut oublier Thisworkbook. Si tu as sauvegardé
le classeur facturation à un moment donné, tu peux en récupérer le
nom (il a bien fallu que tu le trouves quelquepart) et au lieu
d'écrire Workbooks("Facturation.xls") , écrire
nomclass="nomduclient" &".xls"
Workbooks("Récap.xls").Sheets(mois).Range("d" & derlg) = _
Workbooks(nomduclient).Sheets("Feuil3").[Nom].Value
A+
Bonjour DC,
| change pas le nom du classeur "Facturation" par le "nom du client",
Bien c'est justement cela, après avoir changer son nom, ton code, continue
d'utilise en dur le nom de "Facturation" comme nom du
classeur et ce dernier n'existe plus puisqu'il a changé de nom !
Il faudrait probablement que tu fasses une vérification plus serré !
Salutations!
"DC" <da.campion@hotmail.fr> a écrit dans le message de news:
43722f5a$0$18324$8fcfb975@news.wanadoo.fr...
Bonsoir à tous.....Bonsoir anonymousA...et...michdenis...et...Oliv',
Merci...!!........à tous,
Je ne pense pas qu'il puisse y avoir une erreur, puisque tant que je ne
change pas le nom du classeur "Facturation" par le "nom du client", la
procédure fonctionne trés bien, (michdenis)
par contre, j'ai appliqué ta nouvelle écriture (anonymousA) et c'est
toujours refusée,
Une question Messieurs, ne peut-on pas avoir autre chose que le nom du
classeur comme référence...(nom de feuil3....réf. de code feuille...ou
autre....) qui eux ne changeraient pas, ou bien un principe relatif qui
accepterait n'importe quel nom,
A savoir, qu'au moment du lancement de la macro, il y à toujours 3
classeurs
d'ouvert soit : "Code-9" + "Facturation transformé en Nom du client" +
"Récap" et la macro qui se trouve dans "Code-9" est activée par un bouton
dans "Récap"
La procédure ci-jointe fonctionne, tant que je ne change pas le nom
"Facturation" par le "nom du client"
'---------------------------------
Public mois
Sub Récapit()
Dim Z As Integer, Question As String
Workbooks("Récap.xls").Activate
Range("A65536").End(xlUp).Offset(1, 0).Activate
For i = 1 To Workbooks("Récap.xls").Sheets.Count
X = X & i & "...." & Workbooks("Récap.xls").Sheets(i).Name & Chr(10)
Next
mois = Val(InputBox("Feuilles disponibles" & Chr(10) & Chr(10) & X &
Chr(10)
& "Entrez le numéro de la feuille de destination", "Sélection", mois))
If mois < 1 Or mois > i - 1 Then Exit Sub
derlg = Workbooks("Récap.xls").Sheets(mois).Range("A65536").End(3).Row + 1
Workbooks("Récap.xls").Sheets(mois).Range("a" & derlg) = _
Workbooks("Facturation.xls").Sheets("Feuil3").[Numéro].Value
Workbooks("Récap.xls").Sheets(mois).Range("c" & derlg) = _
Workbooks("Facturation.xls").Sheets("Feuil3").[Sit.].Value
Workbooks("Récap.xls").Sheets(mois).Range("d" & derlg) = _
Workbooks("Facturation.xls").Sheets("Feuil3").[Nom].Value
Workbooks("Récap.xls").Sheets(mois).Range("b" & derlg) = _
Workbooks("Facturation.xls").Sheets("Feuil3").[Date].Value
Workbooks("Récap.xls").Sheets(mois).Range("E" & derlg) = _
Workbooks("Facturation.xls").Sheets("Feuil3").[ht].Value
Workbooks("Récap.xls").Sheets(mois).Range("h" & derlg) = _
Workbooks("Facturation.xls").Sheets("Feuil3").[ttc].Value
'*************
Application.ScreenUpdating = False
Windows("Récap.xls").Activate
Sheets(mois).Activate
y = Int((Range("H" & derlg) / Range("E" & derlg) - 1) * 100)
If y = 19 Then
Range("F" & derlg) = Range("H" & derlg) - Range("E" & derlg)
Range("G" & derlg) = ""
ElseIf y = 5 Then
Range("G" & derlg) = Range("H" & derlg) - Range("E" & derlg)
Range("F" & derlg) = ""
Else
Range("G" & derlg) = ""
Range("F" & derlg) = ""
MsgBox "TVA de " & y & "% inconnue"
End If
ActiveCell.Offset(1, 0).Range("A1").Select
Application.ScreenUpdating = True
Windows("Récap.xls").Activate
End Sub
'---------------------------------------------------
Salutations!............encore un grand Merci...!!........bonne soirée!
DC
"anonymousA" <anonymousA@wanadoo.fr> a écrit dans le message de news:
1131545605.506808.151110@g44g2000cwa.googlegroups.com...
Dans ces conditions, il faut oublier Thisworkbook. Si tu as sauvegardé
le classeur facturation à un moment donné, tu peux en récupérer le
nom (il a bien fallu que tu le trouves quelquepart) et au lieu
d'écrire Workbooks("Facturation.xls") , écrire
nomclass="nomduclient" &".xls"
Workbooks("Récap.xls").Sheets(mois).Range("d" & derlg) = _
Workbooks(nomduclient).Sheets("Feuil3").[Nom].Value
A+
Bonjour DC,
| change pas le nom du classeur "Facturation" par le "nom du client",
Bien c'est justement cela, après avoir changer son nom, ton code, continue
d'utilise en dur le nom de "Facturation" comme nom du
classeur et ce dernier n'existe plus puisqu'il a changé de nom !
Il faudrait probablement que tu fasses une vérification plus serré !
Salutations!
"DC" a écrit dans le message de news:
43722f5a$0$18324$
Bonsoir à tous.....Bonsoir anonymousA...et...michdenis...et...Oliv',
Merci...!!........à tous,
Je ne pense pas qu'il puisse y avoir une erreur, puisque tant que je ne
change pas le nom du classeur "Facturation" par le "nom du client", la
procédure fonctionne trés bien, (michdenis)
par contre, j'ai appliqué ta nouvelle écriture (anonymousA) et c'est
toujours refusée,
Une question Messieurs, ne peut-on pas avoir autre chose que le nom du
classeur comme référence...(nom de feuil3....réf. de code feuille...ou
autre....) qui eux ne changeraient pas, ou bien un principe relatif qui
accepterait n'importe quel nom,
A savoir, qu'au moment du lancement de la macro, il y à toujours 3
classeurs
d'ouvert soit : "Code-9" + "Facturation transformé en Nom du client" +
"Récap" et la macro qui se trouve dans "Code-9" est activée par un bouton
dans "Récap"
La procédure ci-jointe fonctionne, tant que je ne change pas le nom
"Facturation" par le "nom du client"
'---------------------------------
Public mois
Sub Récapit()
Dim Z As Integer, Question As String
Workbooks("Récap.xls").Activate
Range("A65536").End(xlUp).Offset(1, 0).Activate
For i = 1 To Workbooks("Récap.xls").Sheets.Count
X = X & i & "...." & Workbooks("Récap.xls").Sheets(i).Name & Chr(10)
Next
mois = Val(InputBox("Feuilles disponibles" & Chr(10) & Chr(10) & X &
Chr(10)
& "Entrez le numéro de la feuille de destination", "Sélection", mois))
If mois < 1 Or mois > i - 1 Then Exit Sub
derlg = Workbooks("Récap.xls").Sheets(mois).Range("A65536").End(3).Row + 1
Workbooks("Récap.xls").Sheets(mois).Range("a" & derlg) = _
Workbooks("Facturation.xls").Sheets("Feuil3").[Numéro].Value
Workbooks("Récap.xls").Sheets(mois).Range("c" & derlg) = _
Workbooks("Facturation.xls").Sheets("Feuil3").[Sit.].Value
Workbooks("Récap.xls").Sheets(mois).Range("d" & derlg) = _
Workbooks("Facturation.xls").Sheets("Feuil3").[Nom].Value
Workbooks("Récap.xls").Sheets(mois).Range("b" & derlg) = _
Workbooks("Facturation.xls").Sheets("Feuil3").[Date].Value
Workbooks("Récap.xls").Sheets(mois).Range("E" & derlg) = _
Workbooks("Facturation.xls").Sheets("Feuil3").[ht].Value
Workbooks("Récap.xls").Sheets(mois).Range("h" & derlg) = _
Workbooks("Facturation.xls").Sheets("Feuil3").[ttc].Value
'*************
Application.ScreenUpdating = False
Windows("Récap.xls").Activate
Sheets(mois).Activate
y = Int((Range("H" & derlg) / Range("E" & derlg) - 1) * 100)
If y = 19 Then
Range("F" & derlg) = Range("H" & derlg) - Range("E" & derlg)
Range("G" & derlg) = ""
ElseIf y = 5 Then
Range("G" & derlg) = Range("H" & derlg) - Range("E" & derlg)
Range("F" & derlg) = ""
Else
Range("G" & derlg) = ""
Range("F" & derlg) = ""
MsgBox "TVA de " & y & "% inconnue"
End If
ActiveCell.Offset(1, 0).Range("A1").Select
Application.ScreenUpdating = True
Windows("Récap.xls").Activate
End Sub
'---------------------------------------------------
Salutations!............encore un grand Merci...!!........bonne soirée!
DC
"anonymousA" a écrit dans le message de news:
Dans ces conditions, il faut oublier Thisworkbook. Si tu as sauvegardé
le classeur facturation à un moment donné, tu peux en récupérer le
nom (il a bien fallu que tu le trouves quelquepart) et au lieu
d'écrire Workbooks("Facturation.xls") , écrire
nomclass="nomduclient" &".xls"
Workbooks("Récap.xls").Sheets(mois).Range("d" & derlg) = _
Workbooks(nomduclient).Sheets("Feuil3").[Nom].Value
A+