Envoyer vers une feuille suivant le choix
#1
Aspirant XLPages

Inscription: 02/09/2008

Messages: 25

Système d'exploitation:
PC & Mac
Version Excel utilisée:
2007
Posté le : 08-02-2011 18h24

Bonjour,

J'aimerais envoyer les données de mes textbox vers un onglet suivant le format choisi de l'enveloppe à l'aide du 2éme USF.
Je m'explique j'ai deux USF le "1" il y a listbox et textbox le "2 "il y a listbox avec choix d'onglet je voudrais cocher le choix de l'onglet pour envoyer les données "C, F, G, H" en A1.

Merci d'avance et bonne soirée.
 Ci  joint mon fichier qui seras plus parlant.

Cordialement
Max


Pièce jointe:
xlsm Classeur d'impression.xlsm   [ Taille: 36.20 Ko - Téléchargements: 534 ]
Hors Ligne
Rapport   Haut 

Re: Envoyer vers une feuille suivant le choix
#2
Webmestre

Inscription: 18/05/2006
De Saône-et-Loire (71)

Messages: 1539

Système d'exploitation:
PC
Version Excel utilisée:
97, 2000, 2002, 2003, 2007, 2010, 2013, 2016 et 365
Posté le : 08-02-2011 23h59
Bonsoir apdf,

J'avais commencé à travailler sur ton projet car dans notre précédent échange, tu avais fini par me convaincre de ta bonne foi... Mais tu ne penses pas qu'il aurait été correct de nous informer de ton précédent post ICI ? Même s'il est resté sans réponse (pour l'instant), ton sujet sur XLD n'est pas mort pour autant et les quelques personnes qui ont téléchargé ton classeur là bas, sont peut-etre en train de plancher dessus ! J'espère au moins qu'ici comme là bas, chacun aura connaissance de l'avancée des échanges et de l'éventuelle solution au final.

Si tu n'as pas eu de réponse d'ici là, alors je me pencherai à nouveau sur ta question demain si je peux.

Cela dit, je te conseille d'abord de t'assurer que ton classeur ne comporte aucune donnée confidentielle (je n'en ai pas l'impression). Tu as la possibilité d'éditer ton post, supprimer le fichier et en mettre un autre le cas échéant.

Cordialement,



Didier_mDF
Image redimensionnée
Le Webmaster

La réponse vous satisfait ? Merci de revenir solder le sujet en [résolu], voir ce lien
Hors Ligne
Rapport   Haut 

Re: Envoyer vers une feuille suivant le choix
#3
Aspirant XLPages

Inscription: 02/09/2008

Messages: 25

Système d'exploitation:
PC & Mac
Version Excel utilisée:
2007
Posté le : 09-02-2011 08h23

Bonjour et merci d'avoir répondu,

Bon, j'espère que nos derniers échangent reste du passer et que l'ont en parlent plus.
J'ai mis post sur XLD mais je n'ais jamais eu de réponse et il est très rare que lorsque sa dépasse une journée sa revienne sur le devant de la scène Bref.

Je préfère attendre et avoir la réponse ici.
Pour le classeur il nos comporte  aucune donnée confidentielle.

Pour ce qui est de la demande je vais essayé de détailler un peut plus je pense que sa seras préférable.

J'ouvre mon 1er USF, je double click sur un item de la listbox se qui envoie les données vers les textbox, jusque la! pas de problème.

"Les quatre textbox qui nous intéresse son: Nom, adresse, CP et ville."

Après je valide par le bouton "Envoies les données" qui ouvre le deuxième USF, je sélectionne le format et je valide pour envoyer les valeurs vers le format d'enveloppe choisi. En sachant qu'il peut avoir d'autre format d'enveloppe sa seras suivant la nécessité, dans cette exemple j'ai mis deux format mais il en existe beaucoup plus.Et on devrais avoir le nom,adresse, CP et ville sur le format de l'enveloppe choisie.
Je viens de m'apercevoir qui manque le bouton valide sur le deuxième USF je modifie sa tout de suite et je joint le fichier.

Dans l'attente d'une réponse je reste à ta disposition pour renseignements complémentaires
Je te souhaite à toi et aux membres une excellente journée

Cordialement

Max




Pièce jointe:
xlsm Classeur d'impression.xlsm   [ Taille: 73.72 Ko - Téléchargements: 575 ]
Hors Ligne
Rapport   Haut 

Re: Envoyer vers une feuille suivant le choix
#4
Webmestre

Inscription: 18/05/2006
De Saône-et-Loire (71)

Messages: 1539

Système d'exploitation:
PC
Version Excel utilisée:
97, 2000, 2002, 2003, 2007, 2010, 2013, 2016 et 365
Posté le : 09-02-2011 22h45
Bonsoir apdf,

Tu trouveras en pièce jointe ton classeur modifié (et au format .xls) selon ma façon de voir le problème...

J'ai essayé d'apporter le moins de modifications possible. J'ai toutefois préféré renommer certains contrôles dans les Userforms (je te conseille vivement de prendre l'habitude de faire de même pour ajouter de la clarté dans ton code et en faciliter la maintenance ultérieure !).

J'ai également opté pour les prérequis de fonctionnement suivants :

- Dans le Userform1, on ne doit pas pouvoir cliquer sur le bouton "Envoie les données" tant qu'une ligne de la liste n'a pas été sélectionnée : je rends donc la propriété Enabled du bouton à False dès le l'ouverture du Userform1 (Initialize) et je surveille ensuite le contenu du TextBox1 (Change) pour activer/désactiver simplement ce bouton.

- Dans le code de ce même bouton "CommandButton2", je remplace le Unload.Me par un Me.Hide : en effet, si tu décharges le Userform, tu ne peux plus accéder aux données de la ligne sélectionnée (Nom, Adresse, CP et Ville). Il te faut donc le conserver en mémoire en le masquant simplement (Hide).

- Dans le code du Userform2, j'ai donc finalement complété le code du bouton "Valider" comme suit :
Private Sub btnValider_Click()
    With Sheets("ImpEnveloppe")
        .Range("B6").Value = UserForm1.txtNom.Text
        .Range("C6").Value = UserForm1.txtAdresse.Text
        .Range("D6").Value = UserForm1.txtCP.Text
        .Range("E6").Value = UserForm1.txtVille.Text
    End With
End Sub

- Ensuite, j'ai juste allégé un peu le code de la procédure CommandButton6_Click().

C'est tout.

J'espère que ça répondra à ta demande.

Cordialement,
Pièce jointe:
zip PourApdf.zip   [ Taille: 49.42 Ko - Téléchargements: 560 ]

Didier_mDF
Image redimensionnée
Le Webmaster

La réponse vous satisfait ? Merci de revenir solder le sujet en [résolu], voir ce lien
Hors Ligne
Rapport   Haut 

Re: Envoyer vers une feuille suivant le choix
#5
Aspirant XLPages

Inscription: 02/09/2008

Messages: 25

Système d'exploitation:
PC & Mac
Version Excel utilisée:
2007
Posté le : 10-02-2011 09h10

Bonjour Didier et merci beaucoup de temps passé.

Déjà je vais prendre le conseil que tu ma donné pour la clarté et la faciliter de maintenance de mon code.

Après ces pas exactement se que je souhaiter, je pense que j'ai du mal m'expliquer. Pour toutes  les modifications de Userform1 avec le bouton "Envoie les données" tant qu'une ligne de la liste n'a pas été sélectionnée n'est actif ces super rien à dire.

Pour le code de Userform2 moi se que souhaiter.

Quand le  Userform2 est ouvert, je voudrais pouvoir envoyer les données uniquement et sans passé par la feuille impEnveloppe ou je le souhaite en cochant la destination vers une feuille  de ma listbox, sinon il n'y a aucun intérêt de passer par Userform2,  du bouton "Envoie les données" on envoie les données directement sur la feuille impEnveloppe puisque la j'avais programmé pour récupérer les données sur les feuille DL ou C6.


Je ne sais pas si peut intervenir à ma demande mais dans tous les cas je te remercie beaucoup et te souhaite une bonne journée.

Cordialement,

Max




Hors Ligne
Rapport   Haut 

Re: Envoyer vers une feuille suivant le choix
#6
Webmestre

Inscription: 18/05/2006
De Saône-et-Loire (71)

Messages: 1539

Système d'exploitation:
PC
Version Excel utilisée:
97, 2000, 2002, 2003, 2007, 2010, 2013, 2016 et 365
Posté le : 11-02-2011 23h44
Bonsoir apdf, le Forum,

Pas sûr d'avoir tout compris...

Je te propose toutefois de reprendre le classeur que je t'ai proposé ci-dessus et de modifier la procédure btnValider_Click() comme suit :
Private Sub btnValider_Click()
Dim I As Byte
    For I = 0 To ListBox1.ListCount - 1
        If ListBox1.Selected(I) = True Then
            With Sheets(ListBox1.List(I))
                .Range("E10").Value = UserForm1.txtNom.Text
                .Range("E11").Value = UserForm1.txtAdresse.Text
                .Range("E13").Value = UserForm1.txtCP.Text & " " & UserForm1.txtVille.Text
            End With
        End If
    Next I
End Sub

Cordialement,

Didier_mDF
Image redimensionnée
Le Webmaster

La réponse vous satisfait ? Merci de revenir solder le sujet en [résolu], voir ce lien
Hors Ligne
Rapport   Haut 

Re: Envoyer vers une feuille suivant le choix
#7
Aspirant XLPages

Inscription: 02/09/2008

Messages: 25

Système d'exploitation:
PC & Mac
Version Excel utilisée:
2007
Posté le : 12-02-2011 07h18
Bonjour Didier et merci beaucoup,

Cet exactement se que je rechercher.

Juste une petite modif de derniere minute quel est le code pour se rendre a la feuille active.


Sheets("ListBox1.List").Select      J'ai fait Sa! sa ne marche pas?

Je te remercie encore et te souhaite une bonne journée.

Bonne continuation

Cordialement

Max




Edité par apdf le 12/02/2011 10:20:01
Hors Ligne
Rapport   Haut 

Re: Envoyer vers une feuille suivant le choix
#8
Webmestre

Inscription: 18/05/2006
De Saône-et-Loire (71)

Messages: 1539

Système d'exploitation:
PC
Version Excel utilisée:
97, 2000, 2002, 2003, 2007, 2010, 2013, 2016 et 365
Posté le : 12-02-2011 16h40
Bonjour apdf, le Forum,

Tout d'abord, et concernant ton essai, si tu veux qu'une commande ou instruction VBA soit interprétée correctement par le système, il ne faut en aucun cas l'entourer de guillemets (c'est là base en programmation VBA et même pour la plupart des langages de développement) :

Sheets("ListBox1.List").Select
.... ne peut pas fonctionner à moins d'avoir une feuille de calcul nommée textuellement "ListBox1.List", ce qui est peu probable !

Voici donc comment tu peux essayer :

Il te faut d'abord supprimer la ligne :
Application.ScreenUpdating = False
... présente dans la procédure ListBox1_Change() du Userform2 et qui ne sert d'ailleurs à rien (sauf gêner le fonctionnement correct de ce que j'indique ci-dessous)

Et comme tu avais visiblement choisi de laisser l'utilisateur cocher plusieurs éléments dans la liste, il te faut donc utiliser quelque chose comme ci-dessous pour activer la première feuille "cochée" dans la liste :
Dim I As Byte

    For I = 0 To ListBox1.ListCount - 1
        If ListBox1.Selected(I) = True Then
            Sheets(ListBox1.List(I)).Activate
            Exit For
        End If
    Next I

Cordialement,


Didier_mDF
Image redimensionnée
Le Webmaster

La réponse vous satisfait ? Merci de revenir solder le sujet en [résolu], voir ce lien
Hors Ligne
Rapport   Haut 

Re: Envoyer vers une feuille suivant le choix
#9
Aspirant XLPages

Inscription: 02/09/2008

Messages: 25

Système d'exploitation:
PC & Mac
Version Excel utilisée:
2007
Posté le : 12-02-2011 17h21
Bonjour Didier,

Je te remercie pour tous sa marche nickel
exactement se que j'avais besoin.

Bon week end à bientôt

Max
Hors Ligne
Rapport   Haut 


Vous pouvez voir les sujets.
Vous ne pouvez pas débuter de nouveaux sujets.
Vous ne pouvez pas répondre aux contributions.
Vous ne pouvez pas éditer vos contributions.
Vous ne pouvez pas effacez vos contributions.
Vous ne pouvez pas ajouter de nouveaux sondages.
Vous ne pouvez pas voter en sondage.
Vous ne pouvez pas attacher des fichiers à vos contributions.
Vous ne pouvez pas poster sans approbation.

[Recherche avancée]


Qui consulte actuellement ce sujet ?   2 Utilisateur(s) anonymes