Syntaxe programmation VB sur excel

Résolu/Fermé
usdy Messages postés 243 Date d'inscription lundi 4 août 2008 Statut Membre Dernière intervention 20 mai 2018 - 20 sept. 2008 à 12:27
usdy Messages postés 243 Date d'inscription lundi 4 août 2008 Statut Membre Dernière intervention 20 mai 2018 - 24 sept. 2008 à 12:05
Bonjour,
je programme souvent sur VB.net mais je me suis récemment mis à programmer sur vba (vb pour excel)
j'ai remarqué des différences, est ce que quelqu'un sait comment faire apparaitre une userform2 quand on clique valider sur userform1.
Sur VB il fallait mettre userform2.show, je recherche l'équivalent sur vba.
Quand l'utilisateur saisit dans une textBox un entier, je voudrais supprimer la ligne sur ma feuille excel correspondant à cet entier : merci de m'indiquer la syntaxe correspondant à ma demande.
A voir également:

4 réponses

wilfried_42 Messages postés 907 Date d'inscription mardi 19 août 2008 Statut Contributeur Dernière intervention 8 décembre 2009 243
20 sept. 2008 à 12:41
Bonjour

sur excel, tu ne peux afficher qu'une userform à la fois (enfin presque)

tu as 2 solutions, soit tu caches la premiere pour afficher la seconde
UserForm1.hide
UserForm2.show
Userform1.show

si tu veux plusieurs USF sur un ecran, elle doivent etre toutes ouvertes avec cette methode

Userform1.Show 0 ' En show modale 0
0
lermite222 Messages postés 8702 Date d'inscription dimanche 8 avril 2007 Statut Contributeur Dernière intervention 22 janvier 2020 1 190
20 sept. 2008 à 19:01
Bonjour,
Sur VBA (VB excel) tu peu afficher autant de Userform que tu veux et ta syntaxe est la bonne.
Mais si tu est en test et que tu n'a pas changer la propriété StartupPosition elle sont l'une sur l'autre, déplace le UF2 et tu les verras tout les deux.
Pour supprimer une ligne la syntaxe est
    Rows("15:15").Select
    Selection.Delete Shift:=xlUp

ou,
Dim Lig as long
    Lig = 15
    Rows(Lig).Delete 

et pour être certain que tu supprime la ligne dans la bonne feuille
Dim lig As Long
lig = 15
    Sheets("Feuil1").Rows(lig).Delete

Un petit conseil, pour connaître la syntaxe de VBA tu peu exécuter les commandes au moyen de l'éditeur de macro.
>> Outils >> Macro >> nouvelles macro.
Tu exécute ce que tu veux optimiser et ensuite tu arrète la macro. Tu trouve le résultat dans un module.
A+
0
usdy Messages postés 243 Date d'inscription lundi 4 août 2008 Statut Membre Dernière intervention 20 mai 2018 6
23 sept. 2008 à 12:49
bonjour,
merci pour ton aide ça a bien marché mais j'ai un autre souci que je n'arrive pas à régler depuis plus d'une journée.
je veux recuperer la ligne d'une cellule en indiquant le contenu de la cellule : pour cela je fais : cells("sous total articles", "E").Rows mais cela ne marche pas.

dans la première ligne de ma feuille j'ai le nom des colonnes, ensuite dans les ligne suivantes de la première colonne j'ai le nom des articles et dans les autres colonnes j'ai des nombres. Après la liste des articles j'ai un sous total. Quand je supprime ma ligne le sous total n'ai pas réinitialisé donc pour cela je voudrais dire que le sous total de ma ligne "sous total article" correspond à la somme des lignes contenues entre la ligne qui se trouve au dessus de la ligne sous total et de la ligne 6.
Je ne veux pas utiliser les coordonnées ABC....car si je supprime plusieurs lignes alors mon programme n'ai plus valide.
merci de m'aider car j'ai essayé toutes les possibilités mais j'ai des erreurs à la compilation.
0
lermite222 Messages postés 8702 Date d'inscription dimanche 8 avril 2007 Statut Contributeur Dernière intervention 22 janvier 2020 1 190
24 sept. 2008 à 00:41
Bonjour
ta question ,n'est pas claire, si tu met une formule somme, par exemple entre la ligne 2 et 10 et en 11 tu met la formule SOMME tu peu ajouter ou supprimer des lignes entre et le total serra toujours bon ?
Explique un peu plus si tu veux et donne un exemple concret.
A+
0
usdy Messages postés 243 Date d'inscription lundi 4 août 2008 Statut Membre Dernière intervention 20 mai 2018 6
24 sept. 2008 à 12:05
j'ai finalement trouvé hier.
merci pour ton aide.
a+
0