Aide débutant en VBA
Résolu
sou
-
sou -
sou -
Bonsoir,
J'ai crée ce topic car j'ai vraiment besoin d'aide,
Je suis stagiaire dans une boite d'informatique, et n'ayant jamais programmé jusqu'alors, on me demande tout de même "d'essayer" de créer un ptit programme en VBA.
Ce programme devra permettre à mon responsable de choisir un nombre d'utilisateurs dans une référentiel...davoir leurs nombre de reparations effectuées dans un temps définis (qu'il aura le choix de choisir Sur 1 semaine 1 mois etc...)
Bien sur, je ne demande absolument pas qu'on me le fasse, ce que j'aimerais surtout c'est qu'on m'aide a comprendre l'interaction des tableaux avec la partie "code" .
Et aussi comprendre comment faire des tableaux ( je créais un listbox ..ok mais apres ? comment faire les onglets à cocher ? )
Je suis vraiment motivé...et je me suis beaucoup documenté, il me faut juste une aide au lancement (ou quelqu'un pour m'aider au début).
Merci beaucoup d'avance
J'ai crée ce topic car j'ai vraiment besoin d'aide,
Je suis stagiaire dans une boite d'informatique, et n'ayant jamais programmé jusqu'alors, on me demande tout de même "d'essayer" de créer un ptit programme en VBA.
Ce programme devra permettre à mon responsable de choisir un nombre d'utilisateurs dans une référentiel...davoir leurs nombre de reparations effectuées dans un temps définis (qu'il aura le choix de choisir Sur 1 semaine 1 mois etc...)
Bien sur, je ne demande absolument pas qu'on me le fasse, ce que j'aimerais surtout c'est qu'on m'aide a comprendre l'interaction des tableaux avec la partie "code" .
Et aussi comprendre comment faire des tableaux ( je créais un listbox ..ok mais apres ? comment faire les onglets à cocher ? )
Je suis vraiment motivé...et je me suis beaucoup documenté, il me faut juste une aide au lancement (ou quelqu'un pour m'aider au début).
Merci beaucoup d'avance
A voir également:
- Aide débutant en VBA
- Logiciel de programmation pour débutant - Guide
- Logiciel montage vidéo débutant - Guide
- Excel compter cellule couleur sans vba - Guide
- Find vba - Astuces et Solutions
- Incompatibilité de type vba ✓ - Forum VB / VBA
18 réponses
Bonjour,
Regarde ici: https://rp.developpez.com/vb/tutoriels/mysql/
C'est pour du VB mais ça doit aussi marché en VBA.
Si tu débutes en programmation, tu risque d'avoir quelques problèmes pour comprendre le fonctionnement des exemples donnés.
Exerces toi avec les exemples pour comprendre comment ça fonctionne.
ATTENTION, il te faut le fichier libmySQL.dll dans le répertoire windows pour que ça fonctionne correctement.
Bon courage
;o)
Regarde ici: https://rp.developpez.com/vb/tutoriels/mysql/
C'est pour du VB mais ça doit aussi marché en VBA.
Si tu débutes en programmation, tu risque d'avoir quelques problèmes pour comprendre le fonctionnement des exemples donnés.
Exerces toi avec les exemples pour comprendre comment ça fonctionne.
ATTENTION, il te faut le fichier libmySQL.dll dans le répertoire windows pour que ça fonctionne correctement.
Bon courage
;o)
Salut sou ... Je vais ésaiyer de t'aider le plus possible donc voici
http://www.siteduzero.com/tutoriel-3-134798-visual-basic-net.html</code> Ses le site du zero ta juste a chercher quesque ta besoin et voîla
Tout les Code sont ! :)
Voici le code pour une progresse bar
______________Timer_____________________
ProgressBar1.Increment(1)
if progressbar1.value = Progressbar1.Maximum then
_____________Button_____________________
timer1.start()
Merci
Bonjour,
Pas de soucis, mais il va falloir partir sur une base....
Si tu as déjà l'ébauche d'un fichier, avec des données anonymisées, on peut commencer à travailler dessus...
Pour joindre ton fichier exemple, utilise un de ces liens :
http://www.cijoint.fr/
https://www.cjoint.com/
Bon courage
Pas de soucis, mais il va falloir partir sur une base....
Si tu as déjà l'ébauche d'un fichier, avec des données anonymisées, on peut commencer à travailler dessus...
Pour joindre ton fichier exemple, utilise un de ces liens :
http://www.cijoint.fr/
https://www.cjoint.com/
Bon courage
Le probleme c'est que je n'ai rien ....
J'ai page 1 : juste une listbox : je sais pas comment y mettre les onglets des personnes ( qui se trouvent dans des cellules pages 2)
Je viens de débuter... j'arrive pas a gérer la parties interconnections...
Si tu as msn :$ ....
J'ai page 1 : juste une listbox : je sais pas comment y mettre les onglets des personnes ( qui se trouvent dans des cellules pages 2)
Je viens de débuter... j'arrive pas a gérer la parties interconnections...
Si tu as msn :$ ....
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Re-,
Tu comprendras aisément que je ne vais pas développer via MSN, le principe d'un forum étant de faire participer, et progresser tout le monde....
Comme tu l'as dit :
Il va donc falloir que tu commences par créer une base, pour l'insertion dans des objets ActiveX (objets comme ListBox, Combobox...), on verra par la suite pour les alimenter, et les utiliser...
Mais, et je me répète, il te faut une base de travail....(à priori, déjà renseignée en Feuil2...)
On peut partir de là...
@ te relire
Tu comprendras aisément que je ne vais pas développer via MSN, le principe d'un forum étant de faire participer, et progresser tout le monde....
Comme tu l'as dit :
je ne demande absolument pas qu'on me le fasse
Il va donc falloir que tu commences par créer une base, pour l'insertion dans des objets ActiveX (objets comme ListBox, Combobox...), on verra par la suite pour les alimenter, et les utiliser...
Mais, et je me répète, il te faut une base de travail....(à priori, déjà renseignée en Feuil2...)
On peut partir de là...
@ te relire
Re,
Ok je comprends et tu as tout a fait raison...
Je vais tâcher d'avancer dans la partie design, et remplissage et je reviendrais je pense demain avec un "support"
Par contre besoin juste d'une réponse:
Lorsqu'on créait une listbox en page 1 , et que l'on a ses données en page 2... comment faire pour ces données soit intégrés dans la listbox ( avec des checkbox ? ou les objets ne sont pas additionnable?) ... un début de réponse serait sympa en cette nuit de travail ^^ car je patauge
Merci
Ok je comprends et tu as tout a fait raison...
Je vais tâcher d'avancer dans la partie design, et remplissage et je reviendrais je pense demain avec un "support"
Par contre besoin juste d'une réponse:
Lorsqu'on créait une listbox en page 1 , et que l'on a ses données en page 2... comment faire pour ces données soit intégrés dans la listbox ( avec des checkbox ? ou les objets ne sont pas additionnable?) ... un début de réponse serait sympa en cette nuit de travail ^^ car je patauge
Merci
Re-,
On va donc utiliser les objets ActiveX, objets issus de la barre d'outils (BO) "Contrôles", et non "Formulaires", car les objets ActiveX sont plus faciles à coder..
Tu as sur ta feuille 1 une Listbox (nommée ListBox1), et un CommandButton (nommé CommandButton1)
Tu doubles-cliques sur le bouton de commande, tout en étant en mode création (le premier bouton de la BO "Contrôles", qui ressemble à une équerre, doit être enfoncé).
Tu arrives alors sur le code de la feuille 1, et tu as déjà ceci :
Ensuite, tu insères ce code, pour charger ta ListBox :
Désactive le bouton "Création", et appuie sur le bouton de commande, tu auras les noms de la feuille 2, de la cellule A1 à la dernière cellule remplie de la colonne A de la feuille 2 (tu peux modifier la colonne et/ou la première ligne...)
Bon courage
On va donc utiliser les objets ActiveX, objets issus de la barre d'outils (BO) "Contrôles", et non "Formulaires", car les objets ActiveX sont plus faciles à coder..
Tu as sur ta feuille 1 une Listbox (nommée ListBox1), et un CommandButton (nommé CommandButton1)
Tu doubles-cliques sur le bouton de commande, tout en étant en mode création (le premier bouton de la BO "Contrôles", qui ressemble à une équerre, doit être enfoncé).
Tu arrives alors sur le code de la feuille 1, et tu as déjà ceci :
Private Sub CommandButton1_Click() End Sub
Ensuite, tu insères ce code, pour charger ta ListBox :
Private Sub CommandButton1_Click() Dim Cel As Range 'déclaration de la variable Cel Me.ListBox1.Clear 'on vide la listbox au début With Sheets("Feuil2") 'sur la feuille 2 For Each Cel In .Range("A1:A" & .[A65000].End(xlUp).Row) 'de la cellule A1 à la dernière cellule remplie de la colonne A (feuille 2) Me.ListBox1.AddItem Cel.Value 'on charge la listbox Next Cel 'cellule suivante End With 'fin de l'instruction With, qui nous instanciait sur la feuille 2 End Sub
Désactive le bouton "Création", et appuie sur le bouton de commande, tu auras les noms de la feuille 2, de la cellule A1 à la dernière cellule remplie de la colonne A de la feuille 2 (tu peux modifier la colonne et/ou la première ligne...)
Bon courage
Merci beaucoup, je comprends déja mieux , jmattendais a une formule ... on peut utiliser les celulles donc et en plus en lui disant jusqu'au "dernier mot"
En tout cas, déjà merci... la j'avance tout doucement, je pense te recontacter sur ce post dans la journée pour te dire ou j'en suis...
Bonne nuit
En tout cas, déjà merci... la j'avance tout doucement, je pense te recontacter sur ce post dans la journée pour te dire ou j'en suis...
Bonne nuit
Re-,
Ce n'est pas statique du tout, car comme expliqué, je vais jusqu'à la dernière cellule remplie de la colonne A....
Donc, si tu ajoutes des personnes, tu reviens sur la feuille 1, et tu cliques à nouveau sur le bouton...
Tous les objets s'initialisent via un code macro, et non par formule....
Tu peux néanmoins utiliser l'option "Données/Validation", afin d'alimenter une cellule contenant une liste déroulante...
Dans ce cas, il faut nommer la liste "origine", via Insertion/Nom/Définir, car on ne peut pas faire référence à une autre feuille pour alimenter cette liste
Bonne nuit
Ce n'est pas statique du tout, car comme expliqué, je vais jusqu'à la dernière cellule remplie de la colonne A....
Donc, si tu ajoutes des personnes, tu reviens sur la feuille 1, et tu cliques à nouveau sur le bouton...
Tous les objets s'initialisent via un code macro, et non par formule....
Tu peux néanmoins utiliser l'option "Données/Validation", afin d'alimenter une cellule contenant une liste déroulante...
Dans ce cas, il faut nommer la liste "origine", via Insertion/Nom/Définir, car on ne peut pas faire référence à une autre feuille pour alimenter cette liste
Bonne nuit
Oui j'ai édité mon post avant ta derniere réponse
, je n'ai vu qu'apres tes commentaires dans le code... désolé
Bonne nuit
, je n'ai vu qu'apres tes commentaires dans le code... désolé
Bonne nuit
Bonjour,
J'ai un peu avancé depuis ces 3heures de nuit blanche,
Je suis entrain d'essayer de remplir un calendrier (mois jour)
Faute de mieux j'ai fais comme ceci
Private Sub cb_jour_Click()
Dim j As Integer
Me.cb_jour.Clear
For j = 1 To 31
Sheets("lancement").cb_jour.AddItem j
Next j
End Sub
Le problème c'est que je n'arrive pas à faire de selection (et la garder au lieu d'avoir une case blanche) ....
Si c'est pas une bonne méthode n'hésitez pas ... je me ferais un plaisir de recommencer.
Merci
J'ai un peu avancé depuis ces 3heures de nuit blanche,
Je suis entrain d'essayer de remplir un calendrier (mois jour)
Faute de mieux j'ai fais comme ceci
Private Sub cb_jour_Click()
Dim j As Integer
Me.cb_jour.Clear
For j = 1 To 31
Sheets("lancement").cb_jour.AddItem j
Next j
End Sub
Le problème c'est que je n'arrive pas à faire de selection (et la garder au lieu d'avoir une case blanche) ....
Si c'est pas une bonne méthode n'hésitez pas ... je me ferais un plaisir de recommencer.
Merci
Re-,
C'est un combobox? (je suppose, vu le nom "cb_jour")
tout d'abord, quelle version d'excel as-tu?
Il existe des calendriers tout fait, que ce soit des objets ActiveX, ou d'autres, qu'on peut trouver sur plusieurs sites....
Je te conseille d'ailleurs de fréquenter assidûment ce site :
http://boisgontierjacques.free.fr/
Tu y trouveras une mine d'or...
Notamment un calendrier dans la rubrique "Formulaire et classes", le fichier en téléchargement "ObjetsClassesSynthèse", dans les 2 derniers onglets...
Bon courage
C'est un combobox? (je suppose, vu le nom "cb_jour")
tout d'abord, quelle version d'excel as-tu?
Il existe des calendriers tout fait, que ce soit des objets ActiveX, ou d'autres, qu'on peut trouver sur plusieurs sites....
Je te conseille d'ailleurs de fréquenter assidûment ce site :
http://boisgontierjacques.free.fr/
Tu y trouveras une mine d'or...
Notamment un calendrier dans la rubrique "Formulaire et classes", le fichier en téléchargement "ObjetsClassesSynthèse", dans les 2 derniers onglets...
Bon courage
Re,
Merci pour ton aide,
J'ai excel2007,
Concernant le calendrier que tu m'as fournit, je n'y comprends pas grand chose, je n'arrive pas à dégager l'action de chaque variable/fonction.
Je suis entrain d'en chercher un plus facile, ou j'essaierais d'en faire un "mal" mais à ma façon.
Deuxième point : comment faire pour "sélectionner" un item dans une listbox ?
C'est a dire que j'ai créais une combobox avec 31valeurs en liste déroulante.. mais j'arrive pas à faire afficher dans la combobox ma selection. Comment faire?
Merci
Merci pour ton aide,
J'ai excel2007,
Concernant le calendrier que tu m'as fournit, je n'y comprends pas grand chose, je n'arrive pas à dégager l'action de chaque variable/fonction.
Je suis entrain d'en chercher un plus facile, ou j'essaierais d'en faire un "mal" mais à ma façon.
Deuxième point : comment faire pour "sélectionner" un item dans une listbox ?
C'est a dire que j'ai créais une combobox avec 31valeurs en liste déroulante.. mais j'arrive pas à faire afficher dans la combobox ma selection. Comment faire?
Merci
Bonjour,
J'ai pas mal avancé depuis ( merci encore cousinhub29), j'ai intégré toutes mes listbox (avec leur contrôle), j'ai intégré les calendriers , et tout les bouttons qui vont avec..
J'ai maintenant un problème nouveau,
J'ai une base de données au travail (avec phpmadmin), j'ai une requête qui me permet d'avoir une liste de personne, avec leurs temps de travail...
Comment faire pour faire le lien VBA-->Phpmyadmin ?
Pour que ces données soit "copiées" dans une pages Vba et que je puisse travailler avec...
Merci beaucoup
J'ai pas mal avancé depuis ( merci encore cousinhub29), j'ai intégré toutes mes listbox (avec leur contrôle), j'ai intégré les calendriers , et tout les bouttons qui vont avec..
J'ai maintenant un problème nouveau,
J'ai une base de données au travail (avec phpmadmin), j'ai une requête qui me permet d'avoir une liste de personne, avec leurs temps de travail...
Comment faire pour faire le lien VBA-->Phpmyadmin ?
Pour que ces données soit "copiées" dans une pages Vba et que je puisse travailler avec...
Merci beaucoup
Bonjour,
Merci pour ta réponse polux,
J'y arrive pas , de plus on me dit (des collègues) que la connexion VB et la connexion VBA n'est pas la même ....
Sinon au niveau de la réflexion, comment dois-je m'y prendre à votre avis( j'essaierais de bricoler de cette façon)
Dois-je importer ou me connecter sur la base mysql( à travers phpmyadmin).
Merci encore
Merci pour ta réponse polux,
J'y arrive pas , de plus on me dit (des collègues) que la connexion VB et la connexion VBA n'est pas la même ....
Sinon au niveau de la réflexion, comment dois-je m'y prendre à votre avis( j'essaierais de bricoler de cette façon)
Dois-je importer ou me connecter sur la base mysql( à travers phpmyadmin).
Merci encore
Bonsoir,
Merci pour ta réponse
Alors j'ai un probleme c'est que je ne peux rien installer de plus sur mon PC ( je n'y suis pas admin, et trop de restriction du fait de l'endroit où je travaille)
On me demande d'utiliser le pilote ODBC MYSQL 3.51 déjà installer.
J'ai ma base Phpmyadmin de prête
Tout mes boutons, calendrier tout de prêt
Il me manque juste la connexion que j'arrive décidement à faire ... :(
Merci pour ta réponse
Alors j'ai un probleme c'est que je ne peux rien installer de plus sur mon PC ( je n'y suis pas admin, et trop de restriction du fait de l'endroit où je travaille)
On me demande d'utiliser le pilote ODBC MYSQL 3.51 déjà installer.
J'ai ma base Phpmyadmin de prête
Tout mes boutons, calendrier tout de prêt
Il me manque juste la connexion que j'arrive décidement à faire ... :(
Bonjour,
Regarde ici : http://operatingsystem.free.fr/devel/detailtuto.php?idt=3
C'est assez bien détaillé et facile à mettre en oeuvre.
Bien que cela soit pour du VB6, ça fonctionne aussi en VBA, pour peu que l'on déclare les références indiquées.
;o)
Regarde ici : http://operatingsystem.free.fr/devel/detailtuto.php?idt=3
C'est assez bien détaillé et facile à mettre en oeuvre.
Bien que cela soit pour du VB6, ça fonctionne aussi en VBA, pour peu que l'on déclare les références indiquées.
;o)
Mercii beaucoup Polux
Je me suis vraiment amélioré en VBA
La connexion est établie,le requetage, l'update tout se passe bien.
Hormis Un dernier problème
J'ai voulu faire évoluer ma Macro,
en effet, j'ai voulu intégré dans ma variable Recordset
Un liste de personne selectionné par l'utilisateur et qui s'integre automatiquement dans cette requete... ça permet de d'aller chercher des données spécifiques,
Le problème étant, est que en faisant cela,ma requète devient excessivement longue et je vois que VBA me la coupe à un certain chiffre (environ 150 caractères)
Comment passer outre cette restriction de longueur ?
Ps: si quelqu'un a des questions concernant les connexions, qu'il n'hésite pas, j'ai fais un "algo" de la requête.
Je me suis vraiment amélioré en VBA
La connexion est établie,le requetage, l'update tout se passe bien.
Hormis Un dernier problème
J'ai voulu faire évoluer ma Macro,
en effet, j'ai voulu intégré dans ma variable Recordset
Un liste de personne selectionné par l'utilisateur et qui s'integre automatiquement dans cette requete... ça permet de d'aller chercher des données spécifiques,
Le problème étant, est que en faisant cela,ma requète devient excessivement longue et je vois que VBA me la coupe à un certain chiffre (environ 150 caractères)
Comment passer outre cette restriction de longueur ?
Ps: si quelqu'un a des questions concernant les connexions, qu'il n'hésite pas, j'ai fais un "algo" de la requête.
J'ai trouvé la réponse
En fait ce n'est pas le "recordset" qui coupe la chaine, en effet vba enregistre bien mes 300caracteres, il choisit juste de ne pas tout afficher (juste les 255premiers) ... donc pas de tracas, ma variable est bien enregistrée.
Voila au cas ou ça arrive à quelqu'un lors de ses manipulations VBA-SQL
ps : pour vous en assurer faites :
'Dim test
'test = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbccddeeffgghhiikkllmmnnoopp"
'test = Right(test, 10)
'counter = Len(test)
vous verrez qu'il affiche bien les dernieres lettres qui ne sont pas affichier pourtant la fenetre espion.
cordialement
En fait ce n'est pas le "recordset" qui coupe la chaine, en effet vba enregistre bien mes 300caracteres, il choisit juste de ne pas tout afficher (juste les 255premiers) ... donc pas de tracas, ma variable est bien enregistrée.
Voila au cas ou ça arrive à quelqu'un lors de ses manipulations VBA-SQL
ps : pour vous en assurer faites :
'Dim test
'test = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbccddeeffgghhiikkllmmnnoopp"
'test = Right(test, 10)
'counter = Len(test)
vous verrez qu'il affiche bien les dernieres lettres qui ne sont pas affichier pourtant la fenetre espion.
cordialement