Remplissage de champs avec UserForm

Bonsoir François,

Merci pour ta réponse, malheureusement je n'arrive pas à obtenir le résultat escompté. Ce n'est pas la préparation du mail qui pose problème mais plutôt la boucle car on s'arrête à la première feuille trouvée et on ne vient pas scruter les autres feuilles

J'ai simplifié la macro, j'ai remplacé l'export en PDF pour envoi par mail par un enregistrement PDF sur le bureau et là, même problème, on s'arrête à la feuille BE-044 et on ne scrute pas la feuille BE-042. Je ne comprends pas pourquoi, pourrais-tu m’aiguiller stp ?

PS: Je préfère lancer la macro au click sur le bouton gris plutôt que lors de l'ouverture du fichier EXCEL :)

Bonne soirée

JB

9copie-de-jb-1.xlsm (69.99 Ko)

Bonjour

12copie-de-jb-1.xlsm (69.93 Ko)

A+ François

Bonsoir François,

C'est parfait !! Merci beaucoup, par contre j'ai voulu copier ta macro et la modifier pour exporter en PDF puis préparer par mail.

Seulement je n'y suis pas parvenu. je pensais utiliser le code ci après mais ça ne prépare que 1 seule feuille par mail au lieu des 2 (BE-044) et (BE-042).

Pourtant le principe est le même que pour l'export en PDF seul, non ?

Encore un grand merci ! :)

JB

Sub Rectangle1_Cliquer()
  Dim i As Long, nom As String, chemin As String
  ' Créer une instance Windows Script pour retrouver le chemin du bureau
  Set WshShell = CreateObject("WScript.Shell")
  sRep = WshShell.SpecialFolders("Desktop")
  Set WshShell = Nothing
For i = 4 To Range("A" & Rows.Count).End(xlUp).Row
    If IsEmpty(Range("H" & i).Value) Then
      If Range("I" & i).Value >= 30 Then
        nom = Range("A" & i).Value
' Définit le nom du fichier à enregistrer
  sNomFic = nom & ".pdf"
' Enregistrer la feuille en PDF
 Sheets(nom).ExportAsFixedFormat Type:=xlTypePDF, Filename:=sRep & "\" & sNomFic, _
  Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, _
  OpenAfterPublish:=False
  Set OutApp = CreateObject("outlook.application")
  Set OutMail = OutApp.CreateItem(0)
  strbody = "<BODY> feuille EXCEL préparée par mail </BODY>"
  With OutMail
        .Display
        .To = ""
        .Cc = ""
        .Attachments.Add (sRep & "\" & sNomFic)
        .Subject = "BE n° " & nom
        .HtmlBody = strbody & .HtmlBody
  End With
  With Application
    .ScreenUpdating = True
    .EnableEvents = True
  End With
  Kill (sRep & "\" & sNomFic)
  Application.DisplayAlerts = False
  sup = Sheets.Count
  Sheets(sup).Delete
  Application.DisplayAlerts = True
      End If
    End If
  Next
End Sub

Bonjour François,

C'est bon j'ai réussi à me débrouiller pour envoyer les mails.

Je bloque sur une macro que j'aimerais développer. Au moment où je réceptionne un bordereau ça complète la page Index et ça c'est OK. Par contre je voudrais en parallèle afficher un mail prêt à être envoyé en récupérant les infos de la bonne ligne depuis ma feuille "Index"

Dans le fichier joint, j'ai commencé mon code mais j'ai un message d'erreur au moment d'envoyer le mail, je ne comprends pas pourquoi.

Aurais-tu une piste stp ?

Merci à toi

JB

2reception-1.xlsm (24.11 Ko)

Bonjour François,

J'ai juste une dernière question, j'aurais aimé dans un UserForm, afficher le nombre de boucles comptées sur le nombre total de boucles à traiter.

Sur le fichier joint, j'ai une macro qui enregistre toutes les feuilles qui ont la valeur >30 dans la colonne I en PDF sur le bureau. Dans mon cas j'ai 3 feuilles qui vont s'enregistrer, j'aurais aimé afficher "Enregistrement de la feuille 1/3" puis "Enregistrement de la feuille 2/3" puis "Enregistrement de la feuille 3/3" depuis un UserForm. Bien sur les valeurs pourront varier, aurais-tu une piste stp ?

Bonne journée :)

JB

Bonjour

Ci joint ma solution

A+ François

Bonsoir François,

C'est parfait, j'ai réussi à l'adapter à mon projet ! Merci beaucoup

Je reviens avec ma macro pour réceptionner mes bordereaux.
Je souhaite la faire évoluer, en fait, au moment de réceptionner, au lieu d'insérer un WORDART placé au centre sur le bordereau concerné, je souhaiterais:
-Sélectionner les cellules des colonnes B jusqu'à P de la ligne qui contient absolument tous les champs des textbox 2 à 5 de ma UF
- Colorer ces cellules avec ColorIndex=4
-Placer le WORDART à partir de la colonne B de la ligne concernée

Je mets un exemple dans la feuille BE-043, ce sera plus simple pour comprendre. Là je n'ai aucune idée par quoi commencer donc si tu pouvais me venir en aide ça serait vraiment gentil :)

Vraiment, un très grand merci pour tout ce que tu pourrais me proposer et ce que tu m'as déjà proposé :)

Bonne soirée

JB

5reception.xlsm (44.46 Ko)

Bonjour François,

Je vais essayer de me débrouiller seul pour mon problème ci-dessus.

Par contre je bloque sur le code ci-dessous. J'ai une macro qui me permet de créer un bouton "Imprimer" sur un nouveau classeur lorsque je clique dessus.

Ce bouton "imprimer" doit exécuter le code "Impression FI" suivant mais je n'arrive pas à définir ma plage d'impression correctement, saurais-tu me dire pourquoi ?

C'est étrange car l'impression fonctionne bien elle...

Sub Export_FI()
With ActiveSheet.Buttons
      .Add(10, 10, 10, 10).Select
      .OnAction = "Impression_FI"
      .Caption = "Imprimer"
      .Width = 170
      .Height = 50
   End With
End with

Sub Impression_FI()
ActiveSheet.PageSetup.PrintArea = "A:H"
ActiveSheet.PrintOut
End Sub

Ça serait très gentil de m'aider en tout cas :)

Bonne fin de soirée François.

JB

Bonsoir François,

C'est bon j'ai réussi à régler le problème d'impression. Par contre je suis toujours embêté avec mon problème de UF et feuille EXCEL.

J'aimerais que lorsque je clique sur le bouton "Valider" de mon UF, je sélectionne les 4 cellules de la même ligne dans ma feuille EXCEL "Index" identiques au contenu des Textbox1 à Textbox4. Pour info, les données dans la feuille "Index" pourront évoluer.

Les données entre la feuille "Index" et les Textbox seront forcément identiques, pas d'inquiétude là-dessus.

uf

Si tu as une idée, je suis preneur :)

JB

Bonjour

6reception.xlsm (44.14 Ko)

A+ François

Bonsoir François,

Merci pour ta contribution. En fait, le numéro de ligne ne sera pas le même que sur la feuille "Index" donc on ne peut pas utiliser le terme "&lig".

Je voulais plutôt rechercher dans la feuille qui est nommée avec le n° de bordereau en utilisant "myDocument". Une fois dans ce document, on vient chercher la ligne entre les colonnes B et P le contenu de nos textbox.

Je poste un fichier. Dans ce fichier on vient sélectionner des cellules sur ma feuille "myDocument" mais pas celles qui correspondent au contenu des textbox :/

Tu peux faire l'essai avec le BE-043 pour l'équipement "TABLE" si tu veux. J'ai coloré volontairement en rouge les cellules que je souhaite sélectionner sur la feuille BE-043

As-tu une idée ? :)

JB

Désolé François,

Ce fichier sera plus adapté pour t'aider :)

Merci à toi :)

Bonne journée

JB

Rechercher des sujets similaires à "remplissage champs userform"