Excel 2000 VB6 : tâche équivalente décalée

Bonjour à tous,
Lors de l'élaboration d'une base de données sous Excel, j'ai une procédure permettant d'afficher les données d'un projet sous forme de tableau sur une feuille.
La procédure est très conséquente, et j'aimerai modifier légèrement cette tache sans tout réécrire :
Je veux continuer à afficher mes données de la même façon, mais pouvoir sélectionner un deuxième projet et l'afficher au-dessous du premier, afin de pouvoir procéder à une comparaison. Le 2ème projet est sélectionné à partir de la même interface que le 1er, et le choix est fait en même temps.
Il y a t'il une fonction permettant de demander à VB : je veux la même chose que ce que tu fais déjà, mais pour un deuxième projet, affiché en simultané sur la même feuille, mais décalé de 35 lignes.
C'est sûrement confus, je reste donc à votre disposition pour toutes informations susceptibles de mieux vous renseigner afin de m'apporter de l'aide.

2 réponses

  1. Bonjour !

    En fait je voudrais demander à VB: tu dois refaire la même procédure que PROCEDURE1, mais pour le choix n°2 et décalé de 35 ligne. Je suis novice, pourriez vous me donner la démarche à suivre?

    La Procédure1 est lancé à partir d'un Userform permettant d'afficher un résumé des données présentes dans une BdD.

    A partir d'une 2eme userform, je souhaite pouvoir faire à peut près la même tâche, mais en réalisant deux résumé en même temps. Le code étant assez conséquent, j'aimerai pouvoir créé une structure simple et optimisée permettant de ne pas réécrire ce qui existe déjà.

    Bonne journée
    1. Bonjour,

      Le plus simple, à mon avis, serait de dupliquer PROCEDURE1 (copier/coller) et renommer en PROCEDURE2, modifier Procedure2 juste ce qu'il faut pour le choix n°2 et afficher les resultats sur une autre feuille.
      Ensuite copier ces resultats sur la feuille à comparer.

      par exemple

      Sub test1()
      'activer la feuille Resultats 1
      Sheets("Feuil1").Select
      '
      'Traitement personnel
      Range("A1") = "toto"
      End Sub
      
      
      Sub test2()
      'activer la feuille Resultats 2
      Sheets("Feuil2").Select
      '
      'Traitement personnel
      Range("A1") = "tata"
      '
      'Selectionner la plage à comparer et copier
          Range("A1").Select
          Selection.Copy
      '
      'Revenir sur la feuille Resultats 1
      Sheets("Feuil1").Select
      'Positionner et coller
          Range("A3").Select
          ActiveSheet.Paste
          Application.CutCopyMode = False
      End Sub