Syntaxe programmation VB sur excel [Résolu/Fermé]

Messages postés
243
Date d'inscription
lundi 4 août 2008
Statut
Membre
Dernière intervention
20 mai 2018
- - Dernière réponse : 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.
Afficher la suite 

4 réponses

Messages postés
907
Date d'inscription
mardi 19 août 2008
Statut
Contributeur
Dernière intervention
8 décembre 2009
218
0
Merci
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
Messages postés
8713
Date d'inscription
dimanche 8 avril 2007
Statut
Contributeur
Dernière intervention
27 janvier 2014
1006
0
Merci
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+
Messages postés
243
Date d'inscription
lundi 4 août 2008
Statut
Membre
Dernière intervention
20 mai 2018
5
0
Merci
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.
lermite222
Messages postés
8713
Date d'inscription
dimanche 8 avril 2007
Statut
Contributeur
Dernière intervention
27 janvier 2014
1006 -
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+
Messages postés
243
Date d'inscription
lundi 4 août 2008
Statut
Membre
Dernière intervention
20 mai 2018
5
0
Merci
j'ai finalement trouvé hier.
merci pour ton aide.
a+