[VBA]Du texte dans ma Textbox SVP !!

Résolu/Fermé
lml-mike Messages postés 455 Date d'inscription vendredi 16 février 2007 Statut Contributeur Dernière intervention 18 novembre 2018 - 1 sept. 2010 à 10:10
lml-mike Messages postés 455 Date d'inscription vendredi 16 février 2007 Statut Contributeur Dernière intervention 18 novembre 2018 - 2 sept. 2010 à 10:50
Bonjour,

J'ai un soucis concernant du contenu dans des textboxs.

Grâce à un bouton, j'ai la possibilité de sauvegarder un onglet de ma feuille dans un nouveau fichier, à part, à un chemin d'accès spécifique.

Le problème, c'est que quand je créé ce nouveau fichier, mes textboxs suivent, mais pas leur contenu. Ils conservent uniquement leur valeur par défaut...euh...c'est à dire, rien.

J'aurais aimé savoir par quel moyen je pouvais transférer le contenu actuel de mes textboxs, vers mon nouveau fichiers avec mes textboxs copiées. Voici le code que j'utilise actuellement :

Private Sub Bouton_Enregistrer_Click()

Dim Shp As Shape
Sheets("Facture").Copy
ActiveWindow.DisplayGridlines = False
With ActiveWorkbook
    For Each Shp In .Sheets(1).Shapes
        If Shp.Name Like "Bouton_*" Then Shp.Delete
    Next Shp
    .SaveAs Filename:="C:\Factures Yatta\" & "Facture_" & Nom.Value & "_" & Range("E2").Value & ".xlsm", _
    FileFormat:=xlOpenXMLWorkbookMacroEnabled
End With

Bouton_Enregistrer.Enabled = False
Bouton_Imprimer.Enabled = True

End Sub


___________________________

Mes textboxs s'appellent "Nom", "Adresse", "CP", "Ville" et "Téléphone".

Si vous avez une idée, elle est la bienvenue !!!

Merci beaucoup !
A voir également:

8 réponses

cousinhub29 Messages postés 1049 Date d'inscription mardi 10 août 2010 Statut Membre Dernière intervention 27 avril 2025 359
1 sept. 2010 à 14:40
Bonjour,

Comme j'avais commencé hier, et que je suivais le fil...

Euh, t'avais pas prévenu que tu avais un évènement "Change" qui réinitialisait tes textboxs....

Essaie ainsi :

Private Sub Bouton_Enregistrer_Click()
Dim Shp As Shape
With Application
    .EnableEvents = False
    .ScreenUpdating = False
End With
Sheets("Facture").Copy
ActiveWindow.DisplayGridlines = False
With ActiveWorkbook
    For Each Shp In .Sheets(1).Shapes
        If Shp.Name Like "Bouton_*" Then Shp.Delete
    Next Shp
    .SaveAs Filename:="C:\Factures Yatta\" & "Facture_" & nom.Value & "_" & Range("E2").Value & ".xlsm", _
    FileFormat:=xlOpenXMLWorkbookMacroEnabled
End With
Bouton_Enregistrer.Enabled = False
Bouton_Imprimer.Enabled = True
Application.EnableEvents = True
End Sub


Bonne journée
1
lermite222 Messages postés 8724 Date d'inscription dimanche 8 avril 2007 Statut Contributeur Dernière intervention 22 janvier 2020 1 191
1 sept. 2010 à 10:55
Bonjour,
Essaye avec...
Private Sub Bouton_Enregistrer_Click()
Dim Wkcopie As Workbook
Dim WkOrigine As Workbook
Dim Shp As Shape
    Set WkOrigine = ActiveWorkbook
    Set Wkcopie = Workbooks.Add
    WkOrigine.Sheets("Facture").Copy Before:=Wkcopie.Sheets(1)
    With Wkcopie
        With .Sheets(1)
            .Name = "Facture"
            .DisplayGridlines = False
            For Each Shp In .Shapes
                If Shp.Name Like "Bouton_*" Then Shp.Delete
            Next Shp
        End With
       .SaveAs Filename:="C:\Factures Yatta\" & "Facture_" & Nom.Value & "_" & Range("E2").Value & ".xlsm", _
       FileFormat:=xlOpenXMLWorkbookMacroEnabled
    End With
    Bouton_Enregistrer.Enabled = False
    Bouton_Imprimer.Enabled = True
End Sub

A+
0
lml-mike Messages postés 455 Date d'inscription vendredi 16 février 2007 Statut Contributeur Dernière intervention 18 novembre 2018 121
1 sept. 2010 à 12:10
.DisplayGridlines = False
"Cette objet ne supporte pas cette propriété ou cette méthode"

De plus même en passant ce paramètre en commentaire, les quadrillage sont quand même enlevés, mais le contenu des Textboxs reste vide sur le nouvel onglet...

Je ne comprends pas, ce sont des contôles activeX pourtant, ils récupèrent toutes les propriétés du bouton en temps normal non ?
0
lermite222 Messages postés 8724 Date d'inscription dimanche 8 avril 2007 Statut Contributeur Dernière intervention 22 janvier 2020 1 191
1 sept. 2010 à 12:56
Oui,
Eventuellement mettre ton classeur sur CiJoint.com si pas de données confidentielle et mettre le lien dans un poste suivant.
0
lml-mike Messages postés 455 Date d'inscription vendredi 16 février 2007 Statut Contributeur Dernière intervention 18 novembre 2018 121
1 sept. 2010 à 13:07
Je t'ai mis que l'onglet en mettant en commentaire les boutons à cacher...

https://www.cjoint.com/?jbnfWeGWBo

il faut qu'un dossier Factures Yatta soit créée sur c:\, sinon ça plante :)

Merci d'y jeter un oeil, c'est sympa de ta part ^^
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
lermite222 Messages postés 8724 Date d'inscription dimanche 8 avril 2007 Statut Contributeur Dernière intervention 22 janvier 2020 1 191
Modifié par lermite222 le 1/09/2010 à 14:00
Faut mettre un classeur sauver normalement xlsm et pas XLM

il faut qu'un dossier Factures Yatta soit créée sur c:\, sinon ça plante :)
Ce n'est pas ce qui resort de ta question, tu peu pas le créer manuellement ?

L'expérience instruit plus sûrement que le conseil. (André Gide)
Si tu te cognes à un pot et que ça sonne creux, c'est pas forcément le pot qui est vide. ;-)(Confucius)
0
cousinhub29 Messages postés 1049 Date d'inscription mardi 10 août 2010 Statut Membre Dernière intervention 27 avril 2025 359
1 sept. 2010 à 15:38
Re-

En complément....

Comme le code inscrit dans le code de la feuille ne t'intéresse plus, tu peux également le supprimer, et donc enregistrer ton nouveau document en .xlsx.

Si cela t'intéresse....

@ te relire
0
lml-mike Messages postés 455 Date d'inscription vendredi 16 février 2007 Statut Contributeur Dernière intervention 18 novembre 2018 121
1 sept. 2010 à 16:49
Yes, je peux le sauver en .xls et je n'ai même pas de message d'erreur ! Merci
0
lml-mike Messages postés 455 Date d'inscription vendredi 16 février 2007 Statut Contributeur Dernière intervention 18 novembre 2018 121
1 sept. 2010 à 16:51
Merci à cousinHub et a lermite22, le code que vous m'avez donné fonctionne parfaitement.

C'est un véritable calvaire pour conserver les propriétés d'un contrôle ActiveX quand on doit transposer son contenu !!!

CousinHub, concernant le dernier fil je vais également répondre, merci encore vous êtes géniaux !! ^_^
0
cousinhub29 Messages postés 1049 Date d'inscription mardi 10 août 2010 Statut Membre Dernière intervention 27 avril 2025 359
1 sept. 2010 à 16:53
Re-,

OK, mais je te proposai d'inclure les lignes directement dans le code fourni, afin que tout soit automatique....

Le code :

Nota, tu peux changer le xlsx par xls, si tu veux

Private Sub Bouton_Enregistrer_Click()
Dim Shp As Shape
With Application
    .EnableEvents = False
    .ScreenUpdating = False
End With
Sheets("Facture").Copy
ActiveWindow.DisplayGridlines = False
With ActiveWorkbook
    For Each Shp In .Sheets(1).Shapes
        If Shp.Name Like "Bouton_*" Then Shp.Delete
    Next Shp
    With .VBProject.VBComponents _
      (.Sheets(1).CodeName).CodeModule
    .DeleteLines 1, .CountOfLines
    .CodePane.Window.Close
    End With
    Application.DisplayAlerts = False
    .SaveAs Filename:="C:\Factures Yatta\" & "Facture_" & nom.Value & "_" & Range("E2").Value & ".xlsx"
    .Close False
End With
Bouton_Enregistrer.Enabled = False
Bouton_Imprimer.Enabled = True
Application.EnableEvents = True
End Sub


Bonne journée
0
lml-mike Messages postés 455 Date d'inscription vendredi 16 février 2007 Statut Contributeur Dernière intervention 18 novembre 2018 121
2 sept. 2010 à 10:50
Woah ! Ton code est génial, le fichier ne s'ouvre même pas et je reste sur la facture !!!
Je ne peux pas demander mieux !

Merci infiniment ! Il me reste plus que le bouton le plus compliqué de mon programme et je suis paré :D
@ bientôt, et merci encore !


Mike
0

Discussions similaires