Aide userform( insertion données dans classeur)
salut a tous
voila , j'ai besoin de votre aide
j'ai creer un userform au demarrage de mon projet ( creation de devis) pour soit selectionner un client existant et le mettre dans l'entete du devis , soit creer le nouveau client et le rajouter dans ma liste client ainsi que dans entete du devis.
ps : mon projet en piece jointe
Par contre gros prob , car quand j'ajoute un client , une ligne se rajoute bien dans ma liste mais les cellule sont vides et rien dans entete devis: Que faire
et pour finir , comment enregistrer mon onglet "devis" dans un nouveau classeur portant le nom du client+date du jours ( ex: dupont-alain-141205)
merci beaucoup
ps : ci joint mon fichier
Mon devis
Re: Aide userform( insertion données dans classeur)
Citation:
Envoyé par zouille
Par contre gros prob , car quand j'ajoute un client , une ligne se rajoute bien dans ma liste mais les cellule sont vides et rien dans entete devis:
c'est toi qui as créé le projet? ... pour moi l'ajout d'un client fonctionne, il faut d'abords cliquer sur le bouton ajoutez ... saisir le client... puis valider ajout
Citation:
Envoyé par zouille
et pour finir , comment enregistrer mon onglet "devis" dans un nouveau classeur portant le nom du client+date du jours ( ex: dupont-alain-141205)
Voila la fonction enregistrée modifié pour sauvegarde :
Code:
1 2 3 4 5 6 7 8 9 10 11
| Sub Enregistrer()
Dim stRep As String
Sheets("devis").Copy
'
' .. Voir s'il faut rajouter le réperoire de sauvegarde
' en activant la ligne suivante :
'stRep = "c:\temp\"
'
ActiveWorkbook.SaveAs stRep & Replace(Range("G4"), " ", "-") & Format(Now, "-ddmmyy")
ActiveWorkbook.Close savechanges:=False
End Sub |
:wink:
Re: Aide userform( insertion données dans classeur)
Citation:
Envoyé par bbil
Citation:
Envoyé par zouille
Par contre gros prob , car quand j'ajoute un client , une ligne se rajoute bien dans ma liste mais les cellule sont vides et rien dans entete devis:
c'est toi qui as créé le projet? ... pour moi l'ajout d'un client fonctionne, il faut d'abords cliquer sur le bouton ajoutez ... saisir le client... puis valider ajout
salut et merci
alors le projet viens de moi ainsi que mes 1er essaie avec les boutons ajouter ( dans client et articles) mais en ce qui concerne le code , c'est en cherchant a droite et a gauche et avec l'aide dans certain forum que j'ai fait ce code , mais je viens seulement de comprendre qu il faut faire AJOUTER puis entrer les données du nouveau client puis confirmer l'ajout .
je croyais que je pouvais directement ecrire les infos du nouveau client et ensuite cliquer sur ajouter et enfin confirmer ( ca me paraissait plus logique)
merci pour ton aide , je continue de voir la suite de l'aide et je vous tient au courant
merci
Re: Aide userform( insertion données dans classeur)
Code:
1 2 3 4 5 6 7 8 9 10 11
| Sub Enregistrer()
Dim stRep As String
Sheets("devis").Copy
'
' .. Voir s'il faut rajouter le réperoire de sauvegarde
' en activant la ligne suivante :
'stRep = "c:\temp\"
'
ActiveWorkbook.SaveAs stRep & Replace(Range("G4"), " ", "-") & Format(Now, "-ddmmyy")
ActiveWorkbook.Close savechanges:=False
End Sub |
ok et merci a toi , par contre j'ai essayer mais je ne comprend pas qd tu dit : ".. Voir s'il faut rajouter le réperoire de sauvegarde
' en activant la ligne suivante :" en fait comment l'activer car j'ai bien un dossier ou je sauvegarde mes devis ,
merci vraiment de ton aide
Aide userform( insertion données dans classeur)
c'est ce que j'appel du rapide
merci beaucoup pour ton aide merci
je continue a voir pour finaliser mon projet et vous tient au courant
Si vous voyez des ameliorations ou meme des simplifications , ne pas hesiter a m'en faire part :oops:
ps : est il mieux de cliquer sur ajouter puis entrer les données du nouveau client ou l'inverse avec dans tout les cas une validation ?
sinon je pense qu'il serait plus judicieux de mettre automatiquement le nom du nouveau client dans l'entete du devis apres l'avoir ajouter car dans mon projet je doit le faire en 2 temps : ajouter et ensuite le selectionner puis le valider
Avez vous une idee sur la chose
?
merci encore :wink:
Re: Aide userform( insertion données dans classeur)
Citation:
Envoyé par zouille
sinon je pense qu'il serait plus judicieux de mettre automatiquement le nom du nouveau client dans l'entete du devis apres l'avoir ajouter car dans mon projet je doit le faire en 2 temps : ajouter et ensuite le selectionner puis le valider
rajoute l'appel à la fonction de copie vers feuille devis dans macro derriére bouton valider (CommandButton1)
Code:
1 2 3 4 5 6 7
| TextBox5 = ""
TextBox14 = ""
Else
'recherche la derniere ligne vide en feuille client
CommandButton2_Click
With Sheets("clients")
derligne = .Range("b65536").End(xlUp).Row + 1 |
CommandButton2_Click : étant la fonction associée au bouton valider...
Pour rendre plus lisible le code tu pourrai renommer les boutons et leur fonction associées.. exemple CommandButton2 => cdb_Valider et la fonction assoicée devient : cdb_Valider_Click
:wink:
Aide userform( insertion données dans classeur)
ok :lol:
ca me plait bien comme ca , par contre je viens de trouver un probleme, enfin 2 . :cry:
1 - j'ai essayé ton code pour l'enregistrement avec effacement des bouton , mais c'est assez bizard : le fichier s'enregistre bien avec le bon nom +date mais qd je l'ouvre ensuite , il me demande qd meme si je veux activer ou non les macros ( mais ds tout les cas le bouton disparait) mais mon image aussi . pourquoi ?
2- sinon , je confirme que l'ajout fonctionne bien , c'est moi qui avais mal compris , mais ca "merde" qd j'ajoute 2 ou 3 clients , il ne se mettent pas dans la liste que j'avais creer ( sauf le premier , les autres se mettent en dessous . je penserais bien a enlever cette liste auto ( avec entete de tri) mais comment faire en sorte que les nom soit donc trier par ordre alphabetique a chaque ajout de nouveau client
ps : desolé de vous posez tt ces question , mais j'esaye de comprendre , vos reponses m'aide enormement
merci encore :wink:
Re: Aide userform( insertion données dans classeur)
Citation:
Envoyé par zouille
1 - j'ai essayé ton code pour l'enregistrement avec effacement des bouton , mais c'est assez bizard : le fichier s'enregistre bien avec le bon nom +date mais qd je l'ouvre ensuite , il me demande qd meme si je veux activer ou non les macros ( mais ds tout les cas le bouton disparait) mais mon image aussi . pourquoi ?
pour éviter le message te demandant d'activer les macros .. enléve le code qui sert à rien dans la feuille devis... pour cela dans vba .. clique avec bouton droit sur feuille devis .. puis code ... et supprime tout..
pour ne pas supprimer l'image, test du type de "shapes"
Code:
1 2 3 4
| For Each s In ActiveSheet.Shapes 'Efface tous les boutons de la feuille
If s.Type = msoFormControl Then
s.Delete
End If |
:wink:
Re: Aide userform( insertion données dans classeur)
Citation:
Envoyé par zouille
2- sinon , je confirme que l'ajout fonctionne bien , c'est moi qui avais mal compris , mais ca "merde" qd j'ajoute 2 ou 3 clients , il ne se mettent pas dans la liste que j'avais creer ( sauf le premier , les autres se mettent en dessous . je penserais bien a enlever cette liste auto ( avec entete de tri) mais comment faire en sorte que les nom soit donc trier par ordre alphabetique a chaque ajout de nouveau client
rajoute cette ligne de code pour trier la liste de client...
Code:
1 2
| ThisWorkbook.Sheets("Clients").Range("C9").CurrentRegion.Sort Key1:=Range("C9"), Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom |
:wink:
Aide userform( insertion données dans classeur)
salut
tout d'abord un grand merci pour ton aide et ta patience
1-alors j'ai essayer le code pour enregistrer sans macro et en concervant l'image : c'est ok :wink:
Par contre les macros sont qd meme presentent dans ce classeur (outils/macro/macro) mais non visible , de plus qd je veux fermer le fichier enregistré, il me demande si je veux enregistrer les modif et a ce moment la on vois le bouton enregistrer aparaitre ( juste la ) c'est bizard mais pas genant en soit : Est il possible de tout enlever , histoire de gagner QQ octets :oops:
2- sinon , j'ai aussi copié le code pour enregistrer le devis dans le dossier ou se trouve mon projet ( actuellement sur le bureau dans un dossier devis) mais l'ors de l'enregistrement , le fichier se met directement sur le bureau et non ds mon dossier "devis "qui est sur le bureau : faut il faire comme tu dit : "créer tous les répertoire parent...! " avant car mon but et d'enregistrer les devis auto dans le dossier ou se trouve mon projet et ce qq soit l'endroit .
Encore , merci , je teste la suite pour le tri alphabetique et te tient au courant
Encore merci :wink:
Re: Aide userform( insertion données dans classeur)
Citation:
Envoyé par bbil
Citation:
Envoyé par zouille
2- sinon , je confirme que l'ajout fonctionne bien , c'est moi qui avais mal compris , mais ca "merde" qd j'ajoute 2 ou 3 clients , il ne se mettent pas dans la liste que j'avais creer ( sauf le premier , les autres se mettent en dessous . je penserais bien a enlever cette liste auto ( avec entete de tri) mais comment faire en sorte que les nom soit donc trier par ordre alphabetique a chaque ajout de nouveau client
rajoute cette ligne de code pour trier la liste de client...
Code:
1 2
| ThisWorkbook.Sheets("Clients").Range("C9").CurrentRegion.Sort Key1:=Range("C9"), Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom |
:wink:
Alors je viens d'essayer mais ca me marque une erreur de debogage , j'ai essayer de mettre ce code a la suite de bouton "confirmer ajout" juste avant qu'il soit renomer en "ajouter" mais rien a faire : je doit pas le mettre au bon endroit.
Sinon j'ai supprimer la liste auto dans l'onglet client car je pense qu'elle pose plus de probleme qu'autre chose , je l'avais mise pour pouvoir faire une macro car ca m'aider bien au debut pour selectionner mes client , mais maintenant avec le userform il y a recherche jusqu'a la dernier ligne vide ( plus facile)
Alors ou donc mettre ce code de tri STP
merci encore
ps : je joint le fichier avec toutes les modif depuis le debut
MODIF
Aide userform( insertion données dans classeur)
Citation:
Envoyé par bbil
Autant pour moi avant de trier, il faut activer la feuille, rajoute la ligne suivante avant le tri :
Code:
ThisWorkbook.Sheets("Clients").Activate
:wink:
super cool ca marche merci encore , (j aurais du reflechir un peu avant)
Reste plus que le prob des macros dans le fichier enregistré a regler ( comme je le disait plus haut)
ps : est il possible qu'au moment de l'ajout , il y ai une verif du nom pour eviter les doublons et afficher une box avec " client deja present" ( ca je sais faire mais pas le code de verif) :oops:
merci