GNT sans publicité, site mobile, fonctionnalitées exclusives...

Amelioration de code

Le
Cyr73
Bonjour à tous,

je vous sollicite encore, voici mon problème je voudrais rajouter à ce code
qu'il imprime les feuille que si la valeur en colonne A est differente de
rien.
et si possible comme il y aura 3 noms différent en colonne A qu'il imprime
les feuilles de ex: "livreur 1" puis toutes les feuilles de "livreur 2" et
enfin toutes celles de "livreur 3".
j'en demande peut être beaucoup, mais vous avez tellement changer mon
quotidien
au travail qu' avec cette amélioration j'aurais peut être l'impression que
qu'il n'en est plus un !!!
merci

Sub Imprimer_Feuille_Livraison()
Dim c As Range, ResAdr As String
rep = InputBox("Entrez une date au Format 01/01")
If IsDate(rep) Then
rep = CDate(rep)
With Sheets("effectifs REPAS")
col = Application.Match(rep * 1, .[C4:AG4], 0)
If IsNumeric(col) Then
col = col + 2
Set c = Intersect(.Columns(col), .Rows("5:60000")).Find("*")
If Not c Is Nothing Then
On Error Resume Next
ResAdr = c.Address
Do
Err.Clear
ligne = c.Row
Feuille = .Cells(ligne, 2)
Sheets(Feuille).Select
[J11:K11].AutoFilter
[J11:K11].AutoFilter Field:=2, Criteria1:="1"
Attente (500)
Var = Err.Number
Sheets(Feuille).PrintOut Copies:=2, Collate:=True
[J11:K11].AutoFilter
Attente (500)
If Err.Number <> 0 Then
Err.Clear
MsgBox "la Feuille de Livraison de ce client n'existe Pas
!!" & .Cells(ligne, 1)
End If
Set c = Intersect(.Columns(col), .Rows("5:60000")).FindNext(c)
Loop While Not c Is Nothing And c.Address <> ResAdr
On Error GoTo 0
End If
End If
End With
End If
End Sub

--
l'auteur de ce code se reconnaitra sûrement encore merci à lui.
Cordialement

et avec tout mes remerciements..
Lire les 9 réponses

Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses Page 1 / 2
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
isabelle
Le #20075441
bonjour Cyr,

est ce que les nom "livreur 1" etc, sont des nom d'onglet ?

isabelle


Cyr73 a écrit :
Bonjour à tous,

je vous sollicite encore, voici mon problème je voudrais rajouter à ce code
qu'il imprime les feuille que si la valeur en colonne A est differente de
rien.
et si possible comme il y aura 3 noms différent en colonne A qu'il imprime
les feuilles de ex: "livreur 1" puis toutes les feuilles de "livreur 2" et
enfin toutes celles de "livreur 3".
j'en demande peut être beaucoup, mais vous avez tellement changer mon
quotidien
au travail qu' avec cette amélioration j'aurais peut être l'impression que
qu'il n'en est plus un !!!
merci

Sub Imprimer_Feuille_Livraison()
Dim c As Range, ResAdr As String
rep = InputBox("Entrez une date au Format 01/01")
If IsDate(rep) Then
rep = CDate(rep)
With Sheets("effectifs REPAS")
col = Application.Match(rep * 1, .[C4:AG4], 0)
If IsNumeric(col) Then
col = col + 2
Set c = Intersect(.Columns(col), .Rows("5:60000")).Find("*")
If Not c Is Nothing Then
On Error Resume Next
ResAdr = c.Address
Do
Err.Clear
ligne = c.Row
Feuille = .Cells(ligne, 2)
Sheets(Feuille).Select
[J11:K11].AutoFilter
[J11:K11].AutoFilter Field:=2, Criteria1:="1"
Attente (500)
Var = Err.Number
Sheets(Feuille).PrintOut Copies:=2, Collate:=True
[J11:K11].AutoFilter
Attente (500)
If Err.Number <> 0 Then
Err.Clear
MsgBox "la Feuille de Livraison de ce client n'existe Pas
!!" & .Cells(ligne, 1)
End If
Set c = Intersect(.Columns(col), .Rows("5:60000")).FindNext(c)
Loop While Not c Is Nothing And c.Address <> ResAdr
On Error GoTo 0
End If
End If
End With
End If
End Sub




Cyr73
Le #20079671
Bonjour isabelle et merci de ta rapiditée

en col A je met le nom du livreur ex: Jean en col B le nom du Site (qui est
le nom de l'onglet à imprimer) en col C:AG j'ai un tableau avec les jour en
colonne et les effectifs du jour sur les lignes.
ce que j'aurais aimé c'est qu'après l'inputbox qui détermine le jour que je
veut pour l'impression il regarde si il y a un chiffre (le nombre de
personnes qui mangent)mais aussi qu'il y ai un nom de chauffeur en col A pour
effectuer l'impression du client sinon qu'il passe à la ligne suivante(donc
le client suivant pour faire la même verif.
espèrant avoir été clair
merci à toi
--
Cordialement

et avec tout mes remerciements..


"isabelle" a écrit :

bonjour Cyr,

est ce que les nom "livreur 1" etc, sont des nom d'onglet ?

isabelle


Cyr73 a écrit :
> Bonjour à tous,
>
> je vous sollicite encore, voici mon problème je voudrais rajouter à ce code
> qu'il imprime les feuille que si la valeur en colonne A est differente de
> rien.
> et si possible comme il y aura 3 noms différent en colonne A qu'il imprime
> les feuilles de ex: "livreur 1" puis toutes les feuilles de "livreur 2" et
> enfin toutes celles de "livreur 3".
> j'en demande peut être beaucoup, mais vous avez tellement changer mon
> quotidien
> au travail qu' avec cette amélioration j'aurais peut être l'impression que
> qu'il n'en est plus un !!!
> merci
>
> Sub Imprimer_Feuille_Livraison()
> Dim c As Range, ResAdr As String
> rep = InputBox("Entrez une date au Format 01/01")
> If IsDate(rep) Then
> rep = CDate(rep)
> With Sheets("effectifs REPAS")
> col = Application.Match(rep * 1, .[C4:AG4], 0)
> If IsNumeric(col) Then
> col = col + 2
> Set c = Intersect(.Columns(col), .Rows("5:60000")).Find("*")
> If Not c Is Nothing Then
> On Error Resume Next
> ResAdr = c.Address
> Do
> Err.Clear
> ligne = c.Row
> Feuille = .Cells(ligne, 2)
> Sheets(Feuille).Select
> [J11:K11].AutoFilter
> [J11:K11].AutoFilter Field:=2, Criteria1:="1"
> Attente (500)
> Var = Err.Number
> Sheets(Feuille).PrintOut Copies:=2, Collate:=True
> [J11:K11].AutoFilter
> Attente (500)
> If Err.Number <> 0 Then
> Err.Clear
> MsgBox "la Feuille de Livraison de ce client n'existe Pas
> !!" & .Cells(ligne, 1)
> End If
> Set c = Intersect(.Columns(col), .Rows("5:60000")).FindNext(c)
> Loop While Not c Is Nothing And c.Address <> ResAdr
> On Error GoTo 0
> End If
> End If
> End With
> End If
> End Sub
>
>



isabelle
Le #20091951
bonjour Cyr,

peut tu mettre ton fichier en ligne sur ci-joint ?

isabelle

Cyr73 a écrit :
Bonjour isabelle et merci de ta rapiditée

en col A je met le nom du livreur ex: Jean en col B le nom du Site (qui est
le nom de l'onglet à imprimer) en col C:AG j'ai un tableau avec les jour en
colonne et les effectifs du jour sur les lignes.
ce que j'aurais aimé c'est qu'après l'inputbox qui détermine le jour que je
veut pour l'impression il regarde si il y a un chiffre (le nombre de
personnes qui mangent)mais aussi qu'il y ai un nom de chauffeur en col A pour
effectuer l'impression du client sinon qu'il passe à la ligne suivante(donc
le client suivant pour faire la même verif.
espèrant avoir été clair
merci à toi



Cyr73
Le #20098161
Bonjour Isabelle,

Voici une version super allègé cela se passe dans l'onglet effectif
un inputbox donne le jour que l'on shouaite imprimer
et si il y a un chiffre et qu'il y a un nom de chauffeur alors on imprime
l'onglet de se client (les onglet porte le nom des clients.

merci

http://cjoint.com/?jivXNFe2Ir
--
Cordialement

et avec tout mes remerciements..


"isabelle" a écrit :

bonjour Cyr,

peut tu mettre ton fichier en ligne sur ci-joint ?

isabelle

Cyr73 a écrit :
> Bonjour isabelle et merci de ta rapiditée
>
> en col A je met le nom du livreur ex: Jean en col B le nom du Site (qui est
> le nom de l'onglet à imprimer) en col C:AG j'ai un tableau avec les jour en
> colonne et les effectifs du jour sur les lignes.
> ce que j'aurais aimé c'est qu'après l'inputbox qui détermine le jour que je
> veut pour l'impression il regarde si il y a un chiffre (le nombre de
> personnes qui mangent)mais aussi qu'il y ai un nom de chauffeur en col A pour
> effectuer l'impression du client sinon qu'il passe à la ligne suivante(donc
> le client suivant pour faire la même verif.
> espèrant avoir été clair
> merci à toi
>



isabelle
Le #20099311
bonjour Cyr,

je n'arrive pas à ouvrir ton fichier,
as tu mis une macro workbook_open ?

isabelle

Cyr73 a écrit :
Bonjour Isabelle,

Voici une version super allègé cela se passe dans l'onglet effectif
un inputbox donne le jour que l'on shouaite imprimer
et si il y a un chiffre et qu'il y a un nom de chauffeur alors on imprime
l'onglet de se client (les onglet porte le nom des clients.

merci

http://cjoint.com/?jivXNFe2Ir



Publicité
Suivre les réponses
Poster une réponse
Anonyme