A voir également:
- Copier les données d'un Userform dans une feuille Excel
- Liste déroulante excel - Guide
- Feuille de pointage excel - Télécharger - Tableur
- Déplacer une colonne excel - Guide
- Comment copier une vidéo youtube - Guide
- Trier des données excel - Guide
15 réponses
yg_be
Messages postés
23541
Date d'inscription
Statut
Contributeur
Dernière intervention
Ambassadeur
1 584
bonjour,
explications sur les balises de code: https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code
Je pense que tu ne regardes pas au bon endroit. Les données s'inscrivent, sans doute pas où tu le souhaites.
As-tu examiné la valeur de
Je pense que ce n'est pas la première fois que tu rencontres ce soucis.
Il est préférable d'écrire:
explications sur les balises de code: https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code
Je pense que tu ne regardes pas au bon endroit. Les données s'inscrivent, sans doute pas où tu le souhaites.
As-tu examiné la valeur de
ligne?
Je pense que ce n'est pas la première fois que tu rencontres ce soucis.
Il est préférable d'écrire:
ligne = Sheets("récapitulatif").Range("A" & Sheets("récapitulatif").Rows.Count).End(xlUp).Row + 1
Merci pour ton aide.
En effet j'ai déjà eu ce problème auparavant; mais cette fois j'ai un userform alors qu'avant j'avais une feuille bon de commande à vider en fin et recopier sur une seconde feuille récapitulatif.
je suis allé rechercher le code de cet ancien projet afin de m'en inspirer pour celui ci.
Maintenant, je viens de corriger ma ligne "ligne" ainsi que tu me l'a conseillé et à ce niveau àa fonctionne.
Mais ça bloque au niveau de numBord. Je l'ai supprimé et alors àa bloque au niveau du textBox7.
Par rapport à mon ancien programme, ici j'ai mis les n° de TextBox à la place des références de feuille puisque je suis sur un Userform.
Bien que j'aie suivi à la lettre les explications de la mise en place du code, je n'y suis toujours pas arrivé.
Mon second problème :
j'ai mis un bouton (CommandButton) sur mon UserForm, mais je ne vois pas comment lui faire déclencheer mon enregistrement.
Merci encore une fois de ton aide.
En effet j'ai déjà eu ce problème auparavant; mais cette fois j'ai un userform alors qu'avant j'avais une feuille bon de commande à vider en fin et recopier sur une seconde feuille récapitulatif.
je suis allé rechercher le code de cet ancien projet afin de m'en inspirer pour celui ci.
Maintenant, je viens de corriger ma ligne "ligne" ainsi que tu me l'a conseillé et à ce niveau àa fonctionne.
Mais ça bloque au niveau de numBord. Je l'ai supprimé et alors àa bloque au niveau du textBox7.
Par rapport à mon ancien programme, ici j'ai mis les n° de TextBox à la place des références de feuille puisque je suis sur un Userform.
Sub ArchiverBordereau() 'archiver les bordereaux dans le récapitulatif et incrémenter le numéro de Bordereau Dim ligne As Integer Dim numBord As Integer MsgBox "Avez vous fait les impressions dont vous avez besoin ?", vbOKOnly ligne = Sheets("récapitulatif").Range("A" & Sheets("récapitulatif").Rows.Count).End(xlUp).Row + 1 ' je descend d'une ligne à chaque fois 'numBord = TextBox1.Value Sheets("récapitulatif").Range("B" & ligne).Value = numBord Sheets("récapitulatif").Range("C" & ligne).Value = TextBox2.Value Sheets("récapitulatif").Range("D" & ligne).Value = TextBox7.Value Sheets("récapitulatif").Range("E" & ligne).Value = TextBox6.Value End Sub
Bien que j'aie suivi à la lettre les explications de la mise en place du code, je n'y suis toujours pas arrivé.
Mon second problème :
j'ai mis un bouton (CommandButton) sur mon UserForm, mais je ne vois pas comment lui faire déclencheer mon enregistrement.
Merci encore une fois de ton aide.
Eh non ! je ne l'ai pas. Je vais donc l'ajouter de suite . Merci
Mais comment "dire" à mon bouton "enregistrer" qu'il doit me lancer le code ?
merci
Mais comment "dire" à mon bouton "enregistrer" qu'il doit me lancer le code ?
merci
en effet !
voici donc le lien pour avoir mon fichier complet.
Concernant le code, tout n'est pas terminé, mais lorsque je saurai entrer les premieres, le reste se fera aisément.
https://www.cjoint.com/c/LCFqkpGDf3I
j'espère qu'avec cela tu pourras m'aider.
Encore merci
voici donc le lien pour avoir mon fichier complet.
Concernant le code, tout n'est pas terminé, mais lorsque je saurai entrer les premieres, le reste se fera aisément.
https://www.cjoint.com/c/LCFqkpGDf3I
j'espère qu'avec cela tu pourras m'aider.
Encore merci
Ton code n'est pas au bon endroit: il est dans un module, alors que cela doit être le code du UserForm.
Option Explicit Private Sub Enregistrer_Click() 'archiver les bordereaux dans le récapitulatif et incrémenter le numéro de Bordereau Dim ligne As Integer Dim numBord As Integer MsgBox "Avez vous fait les impressions dont vous avez besoin ?", vbOKOnly ligne = Sheets("récapitulatif").Range("b" & Sheets("récapitulatif").Rows.Count).End(xlUp).Row + 1 ' je descend d'une ligne à chaque fois numBord = TextBox1.Value Sheets("récapitulatif").Range("B" & ligne).Value = numBord Sheets("récapitulatif").Range("C" & ligne).Value = TextBox2.Value Sheets("récapitulatif").Range("D" & ligne).Value = TextBox7.Value Sheets("récapitulatif").Range("E" & ligne).Value = TextBox6.Value End Sub
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Et bien MERCI ! je l'ignorais. C'est la première fois que je met un Userform en place. Auparavant j'ai toujours travaillé directement sur des feuilles... Mais je trouvais que l'utilisation d'un UserForm était particulièrement bien.
Et je le pense toujours. Je vais maintenant mettre mon code dans l'USF, l'essayer et ensuite si tout fonctionne correctement, je le complète.
Merci de ton aide.
Et je le pense toujours. Je vais maintenant mettre mon code dans l'USF, l'essayer et ensuite si tout fonctionne correctement, je le complète.
Merci de ton aide.
Super ! ça fonctionne à merveille ! J'ai continué mon code et cela fonctionne parfaitement pour les TextBox.
Par contre, je cherche comment faire avec les CommandButton; j'aimerais que lorsque je clique sur un commandButton il s'inscrive par exemple une croix (x) dans la colonne adhoc.
en attendant ta solution (je suis sur qu'elle va arriver, je cherche de mon côté.
Bien à toi
Par contre, je cherche comment faire avec les CommandButton; j'aimerais que lorsque je clique sur un commandButton il s'inscrive par exemple une croix (x) dans la colonne adhoc.
en attendant ta solution (je suis sur qu'elle va arriver, je cherche de mon côté.
Bien à toi
De quels CommandButton s'agit-il?
S'il s'agit de ceux pour le type de matériel à réparer, ne serait-ce pas plus logique d'utiliser des boutons d'options, plutôt que des boutons de commande? En mettant ces boutons dans le même groupe (en leur donnant le même nom de groupe), un seul pourra être coché à la fois.
Ensuite, au moment d'enregistrer, le code VBA va récupérer le(s) bouton(s) coché(s), et mettre X dans la ou les colonnes.
S'il s'agit de ceux pour le type de matériel à réparer, ne serait-ce pas plus logique d'utiliser des boutons d'options, plutôt que des boutons de commande? En mettant ces boutons dans le même groupe (en leur donnant le même nom de groupe), un seul pourra être coché à la fois.
Ensuite, au moment d'enregistrer, le code VBA va récupérer le(s) bouton(s) coché(s), et mettre X dans la ou les colonnes.
merci, c'est exactement ce que je voulais faire. Je vais donc changer ces boutons pour des boutons d'option et je vais essayer pour faire le groupe.
Merci
Merci
Super ! j'ai maintenant deux groupes distincts et je peux faire un choix dans les deux groupes sans effacer le second.
Je continuerai demain ... je dois encore changer ce qui s'inscrit sur ma feuille selon le bouton cliqué ( actuellement c'est vrai ou faux)
et ensuite, je voudrais faire une sauvegarde afin de pouvoir rappeler le bordereau.
Merci bonne soirée et excellent week end
Je continuerai demain ... je dois encore changer ce qui s'inscrit sur ma feuille selon le bouton cliqué ( actuellement c'est vrai ou faux)
et ensuite, je voudrais faire une sauvegarde afin de pouvoir rappeler le bordereau.
Merci bonne soirée et excellent week end
Merci, le Repair Café c'est la semaine prochaine. Nous le faisons tous les second samedi du mois.
Nous avons débuté cela en juin par un premier essai, arrêt en juillet et aout et première "vrai" session en septembre. Chaque mois nous avons un peu plus de visiteurs- 36 le mois dernier - et nous avons une super ambiance.
Du point de vue informatique, nous sommes trois : un responsable informatique dans une grande société, un informaticien indépendant travaillant avec des sociétés (pas de magasin) depuis 20 ans et ... moi, l'apprenti ! j'y fais ce que je sais faire et je suis leurs conseils pour le reste.
Nous avons également une couturière (82 ans !), deux électroniciens, un réparateur vélo ainsi que trois "répar'Tout" qui s'occupent de démonter un aspirateur, un climatiseur mobile, le nettoyer et le remonter.
C'est vraiment une belle organisation qui m'a poussé de plus en plus à réparer plutôt que remplacer. Surtout au vu de tout ce qui augmente actuellement.
Excellent week end à toi aussi. Je me replonge dans mon programme et je reviens vers toi si besoin.
Décidement, ce forum est une superbe invention !
Nous avons débuté cela en juin par un premier essai, arrêt en juillet et aout et première "vrai" session en septembre. Chaque mois nous avons un peu plus de visiteurs- 36 le mois dernier - et nous avons une super ambiance.
Du point de vue informatique, nous sommes trois : un responsable informatique dans une grande société, un informaticien indépendant travaillant avec des sociétés (pas de magasin) depuis 20 ans et ... moi, l'apprenti ! j'y fais ce que je sais faire et je suis leurs conseils pour le reste.
Nous avons également une couturière (82 ans !), deux électroniciens, un réparateur vélo ainsi que trois "répar'Tout" qui s'occupent de démonter un aspirateur, un climatiseur mobile, le nettoyer et le remonter.
C'est vraiment une belle organisation qui m'a poussé de plus en plus à réparer plutôt que remplacer. Surtout au vu de tout ce qui augmente actuellement.
Excellent week end à toi aussi. Je me replonge dans mon programme et je reviens vers toi si besoin.
Décidement, ce forum est une superbe invention !
me revoici ...
j'ai bien avancé dans mon projet.
Maintenant mon USF s'ouvre à l'ouverture de mon dossier.
la feuille se remplit correctement, mais j'aimerais que avec les commandbutton je puisse remplacer les FAUX et VRAI par rien et X (pour vrai) J'ai cherché mais n'ai pas trouvé !
Ensuite, j'ai essayé d'imprimer mon USF, mais il prend plus qu'une page en largeur ! Je ne vois pas comment l'adapter à une feuille A4 si ce n'est un conseil vu lsur le net de faire une copie d'écran et la mettre dans une feuille et ensuite imprimer cette feuille dans les bonnes dimensions . Je trouve cela un peu farfelu ?
La dernière chose, pas du tout nécessaire, mais ce serait bien que l'heure de la prise du bordereau s'indique automatiquement. Mais ça c'est vraiment pas important.
déjà merci pour le travail que tu m'aides à réaliser.
Je joins mon fichier .
https://www.cjoint.com/c/LDckuJoMmWI
merci
j'ai bien avancé dans mon projet.
Maintenant mon USF s'ouvre à l'ouverture de mon dossier.
la feuille se remplit correctement, mais j'aimerais que avec les commandbutton je puisse remplacer les FAUX et VRAI par rien et X (pour vrai) J'ai cherché mais n'ai pas trouvé !
Ensuite, j'ai essayé d'imprimer mon USF, mais il prend plus qu'une page en largeur ! Je ne vois pas comment l'adapter à une feuille A4 si ce n'est un conseil vu lsur le net de faire une copie d'écran et la mettre dans une feuille et ensuite imprimer cette feuille dans les bonnes dimensions . Je trouve cela un peu farfelu ?
La dernière chose, pas du tout nécessaire, mais ce serait bien que l'heure de la prise du bordereau s'indique automatiquement. Mais ça c'est vraiment pas important.
déjà merci pour le travail que tu m'aides à réaliser.
Je joins mon fichier .
https://www.cjoint.com/c/LDckuJoMmWI
merci
pour les "X", je ferais:
Je suppose que il n'y a rien à faire sinon, car toute la ligne est vide au départ.
Pour l'heure, moi je supprimerais cela du userform, et ferais:
Pour l'impression, je n'ai pas beaucoup d'expérience avec cela, je pense à deux pistes:
1) réduire la taille du userform (donc également l'afficher plus petit)
2) créer une feuille Excel qui a le look de ce que tu veux imprimer, et, au moment d'imprimer, y transférer les données, puis imprimer cette feuille.
if OptionButton1.Value then Sheets("récapitulatif").Range("I" & ligne).Value = "X" end if
Je suppose que il n'y a rien à faire sinon, car toute la ligne est vide au départ.
Pour l'heure, moi je supprimerais cela du userform, et ferais:
Sheets("récapitulatif").Range("C" & ligne).Value = Time ' heure
Pour l'impression, je n'ai pas beaucoup d'expérience avec cela, je pense à deux pistes:
1) réduire la taille du userform (donc également l'afficher plus petit)
2) créer une feuille Excel qui a le look de ce que tu veux imprimer, et, au moment d'imprimer, y transférer les données, puis imprimer cette feuille.
Merci pour les OptionButton, je vais mettre cela en route de suite.
Si tu as ouvert mon fichier, tu verras que j'ai déjà préparé une feuille Excel avec les mêmes indication que sur l'USR. Je pense que je vais envoyer mes données également vers cette feuille et ensuite l'imprimer en lui donnant les dimensions désirées et tant que j'y suis pourquoi pas l'imprimer en noir et blanc (plus rapide et plsu économique)
Merci
Si tu as ouvert mon fichier, tu verras que j'ai déjà préparé une feuille Excel avec les mêmes indication que sur l'USR. Je pense que je vais envoyer mes données également vers cette feuille et ensuite l'imprimer en lui donnant les dimensions désirées et tant que j'y suis pourquoi pas l'imprimer en noir et blanc (plus rapide et plsu économique)
Merci
Je n'avais pas remarqué le second onglet, "impression", sinon j'aurais expliqué plus simplement!
Cela te permet aussi, si utile, d'imprimer à partir d'une ligne du récapitulatif, sans passer par le userform.
Je me demande comment tout cela fonctionne, car une partie des données sont encodées avant réparation, et une autre partie après, non?
Cela te permet aussi, si utile, d'imprimer à partir d'une ligne du récapitulatif, sans passer par le userform.
Je me demande comment tout cela fonctionne, car une partie des données sont encodées avant réparation, et une autre partie après, non?
Oui, c'est aussi mon problème. Je ne sais pas encore comment nous allons faire ? je pensais à sauvegarder les bordereaux afin de pouvoir les rappeler après réparation et ainsi compléter la partie "après réparation". sinon on utiliserait des feuilles imprimées comme l'USF mais vierges et lorsqu'elles reviendraient, elles seraient alors encodées. Mais je trouve que c'est là ça prendra plus de temps.
Je peux aussi limiter l'USF à la première partie et encoder la seconde directement dans le récapitulatif.
Le récapitulatif nous permettra d'effectuer des statistiques selon toutes les critères que l'on veut.
Je vais donc me lancer dans la préparation de l'impression en recopiant les données de l'USF dans la feuille Impression.
Merci et excellente soirée.
Je peux aussi limiter l'USF à la première partie et encoder la seconde directement dans le récapitulatif.
Le récapitulatif nous permettra d'effectuer des statistiques selon toutes les critères que l'on veut.
Je vais donc me lancer dans la préparation de l'impression en recopiant les données de l'USF dans la feuille Impression.
Merci et excellente soirée.
peut-être ainsi:
- un userform pour créer un nouveau bordereau, avec creation d'une nouvelle ligne dans "récapitulatif" (tout cela existe déjà)
- si on se positionne dans l'onglet "récapitulatif" sur une des lignes, et qu'on fait une combinaison de touches, ou un double clic, cela démarre un autre userform, qui permet de corriger/compléter les données déjà introduites.
- un userform pour créer un nouveau bordereau, avec creation d'une nouvelle ligne dans "récapitulatif" (tout cela existe déjà)
- si on se positionne dans l'onglet "récapitulatif" sur une des lignes, et qu'on fait une combinaison de touches, ou un double clic, cela démarre un autre userform, qui permet de corriger/compléter les données déjà introduites.
Excellente idée, je vais essayer cela. Mais j'avais également l'idée que j'ai utilisée dans un programme de facturation (pour lequel tu m'as d'ailleurs beaucoup aidé) où je sauvegarde les documents par leur numéro d'ordre et ej peux ainsi aller rechercher le pdf, mais ici je sauvegarderais en xlsx afin de pouvoir le corriger.
Je vais essayer les deux.
Merci et excellent dimanche. Ici il fait froid ... très froid !
Je vais essayer les deux.
Merci et excellent dimanche. Ici il fait froid ... très froid !