Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Amelioration de code

9 réponses
Avatar
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..

9 réponses

Avatar
isabelle
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




Avatar
Cyr73
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
>
>



Avatar
isabelle
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



Avatar
Cyr73
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
>



Avatar
isabelle
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



Avatar
Cyr73
Bonjour Isabelle,

désolé le voici sans
http://cjoint.com/?jjtaQThr3p
--
Cordialement

et avec tout mes remerciements..


"isabelle" a écrit :

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
>



Avatar
isabelle
bonjour Cyr,

peut tu me dire à quoi sert le filtre :

[J11:K11].AutoFilter
[J11:K11].AutoFilter Field:=2, Criteria1:="1"

isabelle



Cyr73 a écrit :
Bonjour Isabelle,

désolé le voici sans
http://cjoint.com/?jjtaQThr3p



Avatar
Cyr73
Bonsoir isabelle,

c'est un feuille qui reprend les articles que j'ai à livrer donc je la filtre
pour ne montre que les articles envoyés pour ce client.

merci de ton aide
--
Cordialement

et avec tout mes remerciements..


"isabelle" a écrit :

bonjour Cyr,

peut tu me dire à quoi sert le filtre :

[J11:K11].AutoFilter
[J11:K11].AutoFilter Field:=2, Criteria1:="1"

isabelle



Cyr73 a écrit :
> Bonjour Isabelle,
>
> désolé le voici sans
> http://cjoint.com/?jjtaQThr3p
>



Avatar
isabelle
ok, c'est tres difficile pour moi de comprendre ton fichier car tout les
cellules ont comme donnée #REF!
le ménage que tu as fait est trop grand,

isabelle

Cyr73 a écrit :
Bonsoir isabelle,

c'est un feuille qui reprend les articles que j'ai à livrer donc je la filtre
pour ne montre que les articles envoyés pour ce client.

merci de ton aide