[VBA] Besoin d'aide pour la création d'une macro [Résolu]

villette54

XLDnaute Junior
Bonjour,

Je suis débutant en VBA, et j'ai dans le cadre de mon travail, besoin d'utiliser VBA de façon un peu plus avancée que ce que je suis capable de faire.

Il s'agit d'un fichier pour lequel je dois extraire des infos d'une "base de données" si je puis dire, et en ajouter. J'ai pour ce faire créer 4 boutons, qui doivent chacun remplir une fonction. Seulement je suis incapable de transposer ce que je souhaite dans VBA. (Toutes les explications de mes besoins se trouve sur mon document)

Je cherche donc quelqu'un qui pourrait m'aider à créer ces macros, ou au moins me mettre sur la piste parce-que actuellement, malgré tous les tutos que je consulte je suis dans le flou total.

Merci d'avance pour votre aide.
 

Pièces jointes

  • Test Suivi Cotopo.xlsm
    113.7 KB · Affichages: 147
Dernière édition:

villette54

XLDnaute Junior
Re : [VBA] Besoin d'aide pour la création d'une macro

Donc Excel commence à chercher la dernière ligne vide à partir de 1.048.000 et remonte jusqu'a la dernière ligne vide ?
Ce qui signifie que vu mon tableau actuel, même si je mettais 100, cela continuerai de fonctionner tant qu'un sujet ne dépasse pas 100 date.

J'ai essayer de mettre le Me.hide à la place du unload me (que j'ai passé en commentaire) mais le bug reste le même.
Je crois que ça vient de mon pc puisque dés que je déplace l'USF une "image" reste là ou il était avant du coup je peux le répéter à l'infini. Un vieux bug...

Bonne fin de journée, et à demain.
 

Tirou

XLDnaute Occasionnel
Re : [VBA] Besoin d'aide pour la création d'une macro

Mmm, il falait plutôt rajouter le Me.hide avant l'Unload Me car sinon, l'userform reste ouvert, même si tu ne le vois pas .... c'est parfois problématique (problème récent sur un autre sujet)

Pour la ligne 1048000, excel se fout de savoir si elle est vide, il va juste où je lui ai demandé et où je sais que la cellule est vide. Apprès, il remonte, et tant qu'il ne rencontre pas une cellule pleine de quelque chose, il remonte. A la première cellule non vide, il s'arrète, et renvoi le rang (la ligne) par Row

Le +1 permet de se placer juste après, donc d'avoir la première cellule vide
 
Dernière édition:

villette54

XLDnaute Junior
Re : [VBA] Besoin d'aide pour la création d'une macro

Salut Tirou,

Ok je comprend mieux... merci

En revanche peut importe que je mette le Me.hide avant, après, ou seul. Le problème reste la même !
C'est sympa d'un coté je peux faire de l'art avec mon USF. (Voir screen)
(Je pense que c'est un bug du pc, nos pc d'entreprise ne sont plus vraiment très jeune) J'irais essayer sur un autre PC, dés que possible.
Bug USF.jpg.
 

Tirou

XLDnaute Occasionnel
Re : [VBA] Besoin d'aide pour la création d'une macro

Heuu, j'avoue que là, je ne sais pas ...

Essayes de mettre temporairement en commentaire (' devant la ligne) les commande du type Application.screenupdating = false
Cette commande sert à mettre l'affichage de la fenêtre en standby (et surtout d'optimiser quand tu fais des actions sur tes feuilles). C'est peut-être ça qui fait planter chez toi.
 

villette54

XLDnaute Junior
Re : [VBA] Besoin d'aide pour la création d'une macro

Bien joué.
Effectivement, en désactivant cette ligne je n'ai plus le problème.
(Qui était présent également sur les autres PC)

Bon et bien on dirait que ce fichier est (enfin) terminé.

Merci pour tout.

Est-ce que je peux continuer à t’embêter un peu avec d'autre de mes problèmes, sur d'autre fichiers ?
 

villette54

XLDnaute Junior
Re : [VBA] Besoin d'aide pour la création d'une macro

Je ne suis même pas sûr que les autres choses que j'ai posté sur ce forum soit encore d'actualité !
Si ça ne te dérange pas je te propose de rester sur ce sujet plutôt que d'en recréer un autre.

2 choses pour ce fichier :

1. J'ai réussi ma macro qui consistait à afficher/masquer des données en fonction de la valeur d'une cellule
(90% avec l'enregistreur de macro, pour le reste on m'a un peu aidé!)
Le problème c'est qu'elle s’exécute à chaque "sélection_change" et c'est gênant C/C impossible, un petit "flash" à chaque fois que la feuille recharge la macro, ect...
J'aimerais savoir s'il est possible que la macro ne s’exécute qu'au moment du choix dans le menu déroulant ?

2. J'aimerais savoir si pour la case "date" il est possible qu'un petit calendrier apparaisse pour la choisir plutôt que de devoir la saisir ? (Sachant que j'ai Excel 2010, donc impossible de créer un calendrier à partir d'un USF cette fonction a été retirée)

Merci !
 

Pièces jointes

  • Formulaire Test.xlsm
    22.5 KB · Affichages: 46
  • Formulaire Test.xlsm
    22.5 KB · Affichages: 47
  • Formulaire Test.xlsm
    22.5 KB · Affichages: 45

Tirou

XLDnaute Occasionnel
Re : [VBA] Besoin d'aide pour la création d'une macro

Chalet, spèce de formule 1 ! :p

Sinon, utilises donc ce que tu connais déjà pour rendre ton code plus rapide (mange pas de pain, et ça te servira de prendre de bons réflexes): Application.screenupdating = False :)

Un conseil général, utilises la mise en forme pour mieux t'y retrouver (genre mettre les end if au même niveau (moi je préfère décalé d'un cran)) histoire de repérer rapidement quoi va avec quoi. (pour les règles exactes, chacun fait les siennes ^^ )

Je regarde demain pour ton calendrier
 

villette54

XLDnaute Junior
Re : [VBA] Besoin d'aide pour la création d'une macro

Salut !

Merci Chalet, j'ai fais comme tu m'as suggéré (sauf que j'ai mis le end if après les lignes pour masquer ... les lignes)
Et j'ai repris ta syntaxe en changeant la cellule cible pour la second partie, avec un end if à la fin cette fois.

Tirou, j'ai également ajouté le "Application.screenupdating = False" tu as raison il faut prendre les bonnes habitudes tout de suite !
C'est honteux il n'y a même pas un assistant qui met tout en forme comme un grand :( J'essaierais d'y penser pour la prochaine fois.
 

Tirou

XLDnaute Occasionnel
Re : [VBA] Besoin d'aide pour la création d'une macro

Bon, une solution qui a le mérite de fonctionner ... mais puré c'est moche !

L'objet est un activeX control du nom de Microsoft Date and Time Picker Control

Voilà le petit lien où je l'ai trouvé : Excel Tips: Put a Calendar Date Picker on an Excel Worksheet
 

Pièces jointes

  • Formulaire Test.xlsm
    26.4 KB · Affichages: 50
  • Formulaire Test.xlsm
    26.4 KB · Affichages: 48
  • Formulaire Test.xlsm
    26.4 KB · Affichages: 50

villette54

XLDnaute Junior
Re : [VBA] Besoin d'aide pour la création d'une macro

Ca ne fonctionne pas sur mon PC !
Même en reprenant le site que tu as donné pour essayer de le faire, je n'ai pas "Microsoft Date and Time Picker Control" dans ma liste d'activeX control !

Je ne pense pas qu'il y est beaucoup d'autre alternative. J'ai pas mal cherché de mon coté aussi. Rien n'a fonctionné hormis un add-in que j'ai du télécharger. Il fonctionnait très bien mais le soucis c'est qu'il aurait fallut l'installer sur tous les pc de ma boite... peu concluant comme solution !
 

Tirou

XLDnaute Occasionnel
Re : [VBA] Besoin d'aide pour la création d'une macro

Tu te sens de le recoder en macros de A à Z? :)

Je t'aide aussitôt que j'ai du temps, donc pas avant mardi.

Sinon autre possibilité : Trois mini listes déroulantes, l'une pour les jours, l'autre pour les mois, la dernière pour les années.
Il va "juste" falloir gérer le problème du nombre de jours dans le mois. (avec des fonctions intégrées du type Month() et Year(), ça devrait le faire)
 
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
314 628
Messages
2 111 337
Membres
111 105
dernier inscrit
Joffrette