Syntaxe programmation VB sur excel

Résolu
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.
Configuration: Windows XP
Firefox 3.0.1

4 réponses

  1. 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.
    1. Contributeur
      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+
  2. Contributeur
    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+
    1. Contributeur
      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