Recherche date
Bonjour
voici mon fichier :
Cela va se passer dans mon Userform3.
Je Click sur le bouton "Feuille d'envoi du jour" de ma feuille.
Ensuite j'arrive sur mon UserForm3.
Et là, le but est de sélectionner une date, qui correspondra dans ma feuille d'Excel à la colonne "Date envoi". Je veux recuperer toutes les colonnes correspondants à la "Date d'envoi" dont la colonne "Etat" correspond aussi à "En Réparation".
Ensuite une fois toutes les données récupérer, je les copies dans un fichier WORD.
En résumé : je sélectionne dans le calendrier une date, qui elle correspond dans ma feuille excel à la colonne "Date d'envoi", et l'autre paramètre est la colonne "Etat" qui correspond à "En réparation". Je copie ensuite tout ça dans un fichier word pour impression.
je ne sais pas comment mi prendre ou bien y aurait il une solution plus simple?
J'ai trouvé ce code que j'ai adapté :
Private Sub CommandButton1_Click()
Set Source = ThisWorkbook
'détermine la dernière ligne du tableau
'en prenant comme référence la colonne B.
'derniere ligne non vide
DL = Cells(Application.Rows.Count, 2).End(xlUp).row
'enregistre le fichier sous le nom donné
Nomdufichier = InputBox("Nom du fichier", "Saisie")
Dim varDoc As Object
Set varDoc = CreateObject("Word.Application")
varDoc.Visible = True
a = Cells(DL, "j").Value
With a = "En réparation"
'selection du tableau (à adapter, H étant ici
'la dernière colonne)
Sheets(1).Range("B11:H" & DL).Copy
varDoc.Documents.Add
'recopie dans le document Word
varDoc.Selection.Paste
Application.CutCopyMode = False
'Enregistre le fichier sous le nom donné dans la InputBox
varDoc.ActiveDocument.SaveAs ThisWorkbook.Path & "/" & Nomdufichier & ".doc"
'Les 2 lignes permettent de libérer la mémoire
Set varDoc = Nothing
Set Source = Nothing
End With
End Submais voila, cela fct, sauf que ca prend quand meme toutes les lignes ?
Alors que moi je lui dit bien que je veux uniquement les lignes ou il y a la colonne etat= "En réparation" ?
Bonjour
Une adaptation de ton code car je ne suis pas très à l"aise pour travailler sur Word à partir de Excel.
Bye !
Merci.
Pourquoi cela me met quand même dans le fichier Word la colonne A alors que je ne veux pas la prendre.
Option Explicit
Dim source As Workbook, varDoc As Object
Dim dl&, a&, Nomdufichier$
Sub CommandButton1_Click()
UserForm3.Show
Exit Sub
'détermine la dernière ligne du tableau
'en prenant comme référence la colonne B.
'derniere ligne non vide
dl = Application.Max(11, Cells(Rows.Count, 2).End(xlUp).Row)
'enregistre le fichier sous le nom donné
Nomdufichier = InputBox("Nom du fichier", "Saisie")
Set varDoc = CreateObject("Word.Application")
varDoc.Visible = True
a = Cells(dl, "J").Value
If a = "En réparation" Then
'selection du tableau (à adapter, H étant ici
'la dernière colonne)
Sheets(1).Range("B11:H" & dl).Copy
varDoc.Documents.Add
'recopie dans le document Word
varDoc.Selection.Paste
Application.CutCopyMode = False
'Enregistre le fichier sous le nom donné dans la InputBox
varDoc.ActiveDocument.SaveAs ThisWorkbook.Path & "/" & Nomdufichier & ".doc"
'Les 2 lignes permettent de libérer la mémoire
Set varDoc = Nothing
Set source = Nothing
End If
End Subje démarre bien à la colonne B11 ? comme ci-dessus dans le code...Non ?
Nouvelle version.Merci.
Pourquoi cela me met quand même dans le fichier Word la colonne A alors que je ne veux pas la prendre
je démarre bien à la colonne B11 ? comme ci-dessus dans le code...Non ?
Oui :
...
tablo = f.Range("A11:M" & f.Range("A" & Rows.Count).End(xlUp).Row)
...Bye !