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. 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
    0
    1. 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+
      0
      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.
        0
        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+
          0
      2. j'ai finalement trouvé hier.
        merci pour ton aide.
        a+
        0