Amélioration du Code VBA

Bonjour le forum

J'ai presque réussi à finir cet userform

J'ai une petite erreur apres la validation du nom choisi.

Sheets("Feuille Temporaire").Select
    With Sheets("Feuille Temporaire")
        Range("A1:BP2").Select: Selection.Copy: Range("A3").Select
        Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:=False, Transpose:=True
        Rows("1:2").Select
        Application.CutCopyMode = False
        Selection.Delete Shift:=xlUp
        Columns("B:B").Select
        With Selection
            .HorizontalAlignment = xlLeft
            .VerticalAlignment = xlCenter
            .WrapText = False
            .Orientation = 0
            .AddIndent = False
            .IndentLevel = 0
            .ShrinkToFit = False
            .ReadingOrder = xlContext
            .MergeCells = False
        End With
        Selection.ColumnWidth = 45
        Range("A1").Select
        DétruireLigne
    End With
    Application.DisplayAlerts = True

B1 est en vert, caractère gras, et en bleu alors qu'il devrait être sans aucune mise en form

Et je voudrai glissé une condition:

Si les textBoxs sont vide alors checkbox = false

Et à la fin une dernière condition si aucune checkbox sélectionner alors un msg d'alerte

Ensuite Tout envoyer sur une feuille word

'Dim Doc_origine As String, Doc_save As String
    'Dim WordApp As Object
    'Dim WordDoc As Object
    '
    'Application.ActivateMicrosoftApp xlMicrosoftWord
    'Doc_origine = "D:\" & NomUtilisateur & "\Documents\Fichiers Clients" & "\test.docx"
    'Doc_save = "D:\" & NomUtilisateur & "\Documents\Fichiers Clients" & Sheets("Feuille Temporaire").Range("A1").Text & ".docx"

    'Set WordApp = CreateObject("word.application")
    'Set WordDoc = WordApp.Documents.Open(Doc_origine, ReadOnly:=False)
    'WordApp.Visible = False
    'WordDoc.Bookmarks("Nom 1").Range.Text = Cells(2, 4) ' Cells(B2)
    'WordDoc.Bookmarks("Nom 2").Range.Text = Cells(3, 4)
    'WordApp.Visible = True
    'WordDoc.Application.ActiveDocument.SaveAs Doc_save
    'WordApp.Application.Quit
    'WordDoc.PrintOut
    'WordDoc.Close True

dans le dossier par défaut :

"D:\" & NomUtilisateur & "\Documents\Fichiers Clients"

cordialement

Bonjour,

Et à la fin une dernière condition si aucune checkbox sélectionner alors un msg d'alerte

Qu'est-ce qui est la fin ? Est-ce au moment de cliquer sur le bouton Exporter ?

Gelinott

Bonjour le forum, le fil, Géllinote

Le_Troll_Du_27 a écrit :

Qu'est-ce qui est la fin ? Est-ce au moment de cliquer sur le bouton Exporter ?

C'est au moment "exporter" si aucune checkbox cochée alors msg d'alerte style :

If CheckBox = 0 Then MsgBox("Vous n'avez rien coché !?", 48, "Attention") Exit Sub

Cordialement

Bonjour,

Espérant avoir bien compris le besoin ...

Si les textBoxs sont vides alors checkbox = false

Si on parle de Textox vidés à la main, là il faudrait ajouter un événement (déclencheur) pour chacun des TextBox susceptible d'être vidé. (plutôt lourd = 68)

À tester les 3 points :

1- si aucun checkbox n'est sélectionné + message

___macro : CmbExporter > au début >> ''' ajout de x lignes....

2- B1 reste coloré > dû au transpose ... modification de la cellule B1 individuellement

___macro : CmbExporter > vers la fin >> ''' ajout de x lignes....

3- Décocher les Checkbox si les TextBox sont absents

___>> c'était présent, j'ai seulement amélioré le clique et le déclenchement aux flèches de déplacement.

Gelinotte

Bonjour le forum, le fil, Gélinotte

Je viens de le tester, et c'est parfaitement ça.

Il fait exactement ce que je voulais.

Je ne savais plus où j'en étais sur le fichier. Un œil extérieur vaut toujours mieux.

Merci. Maintenant que cette partie est résolu je souhaite expédier la liste extraite dans la feuille tampon pour l'envoyer sur word.

Et là je ne me suis jamais essayer.

J'ai essayer mais je ne suis pas convaincu du code.

' ---------------------------------------------------------------------------------------------
    '                          Transferer les données exporter vers Word                          |
    ' ---------------------------------------------------------------------------------------------

    'Dim Doc_origine As String, Doc_save As String
    'Dim WordApp As Object
    'Dim WordDoc As Object
    '
    'Application.ActivateMicrosoftApp xlMicrosoftWord
    'Doc_origine = "D:\" & NomUtilisateur & "\Documents\Fichiers Clients" & "\test.docx"
    'Doc_save = "D:\" & NomUtilisateur & "\Documents\Fichiers Clients" & Sheets("Feuille Temporaire").Range("A1").Text & ".docx"

    'Set WordApp = CreateObject("word.application")
    'Set WordDoc = WordApp.Documents.Open(Doc_origine, ReadOnly:=False)
    'WordApp.Visible = False
    'WordDoc.Bookmarks("Nom 1").Range.Text = Cells(2, 4) ' Cells(B2)
    'WordDoc.Bookmarks("Nom 2").Range.Text = Cells(3, 4)
    'WordApp.Visible = True
    'WordDoc.Application.ActiveDocument.SaveAs Doc_save
    'WordApp.Application.Quit
    'WordDoc.PrintOut
    'WordDoc.Close True

C'est pour cela j'ai tout mis en apostrophe dans le commandButton Exporter

dites moi si je suis sur la bonne voie sinon je continuerai à faire des recherches

Cordialement

Bonjour,

Pas sûr que je veux m'attaquer au transfert dans Word tout de suite. C'est du beaux mondes que je n'ai jamais fréquentés et je suis un peu gêné

Gelinotte

Bonjour le forum, le fil, Gélinotte

Le_Troll_Du_27 a écrit :

Pas sûr que je veux m'attaquer au transfert dans Word tout de suite. C'est du beaux mondes que je n'ai jamais fréquentés et je suis un peu gêné

Ce n'est pas grave je te RE

Je vais essayer de

Cordialement

Bonjour le forum, le fil, Gélinotte

Je viens de finir le fichier

Je mets le résultat si tu souhaite l'améliorer ou l'adapter pour toi

Merci encore )

Cordialement

9le-troll-du-27.xlsm (140.79 Ko)
Rechercher des sujets similaires à "amelioration code vba"