Bonjour à tous
C'est la première fois que je touche à du VBA, donc je ne maîtrise pas encore le format du langage, mais je veux apprendre à l'utiliser correctement.
Je vous explique ce que je veux faire.
J'ai un tableau excel de fournisseurs que je dois payer, certains par chèque, d'autres par virement. Ceux que je dois payer par virement ont un astérisque dans leur nom.
Cependant le fichier excel exporté d'un logiciel de compta me sort tous les fournisseurs que je dois payer dans l'ordre alphabétique, alors je voudrais faire un tri de ces fournisseurs selon ce critère.
Voici un exemple de la colonne en question.
Fournisseur 1*
…
Total Fournisseur 1*
Fournisseur 2
…
Total Fournisseur 2
Fournisseur 3*
…
Total Fournisseur 3*
Le but de l'opération est de pouvoir masquer toutes les lignes se situant entre "Fournisseur 1*" et "Total Fournisseur 1*" inclus, et inversement.
J’ai pensé à l’algorithme ci-dessous (emprunté à du turbo pascal) mais à chaque fois que j’ai essayé de le «traduire», j’ai échoué ne maitrisant pas la syntaxe du VBA. J'ai vu que pour le test, je pouvais utiliser la fonction instr, mais les paramètres devaient être incorrectes. Donc si vous vouliez bien m’aider, ce serait très sympa. Merci.
i correspond à une ligne quelconque et initialisé à 1. B est la colonne avec le nom des fournisseurs.
While i < 100000 Do
If TestPrésenceAstérisque (« B & i») = 1
Then
ligne1 := i
ligne2 :=ligne1+1
While TestPrésenceAstérisque («B & ligne2») = 0 Do ligne2 := ligne2 + 1
For j := ligne1 to j := ligne2 Do CacherLaLigne(j)
i := b+1
Else i :=i+1
Bonne soirée
C'est la première fois que je touche à du VBA, donc je ne maîtrise pas encore le format du langage, mais je veux apprendre à l'utiliser correctement.
Je vous explique ce que je veux faire.
J'ai un tableau excel de fournisseurs que je dois payer, certains par chèque, d'autres par virement. Ceux que je dois payer par virement ont un astérisque dans leur nom.
Cependant le fichier excel exporté d'un logiciel de compta me sort tous les fournisseurs que je dois payer dans l'ordre alphabétique, alors je voudrais faire un tri de ces fournisseurs selon ce critère.
Voici un exemple de la colonne en question.
Fournisseur 1*
…
Total Fournisseur 1*
Fournisseur 2
…
Total Fournisseur 2
Fournisseur 3*
…
Total Fournisseur 3*
Le but de l'opération est de pouvoir masquer toutes les lignes se situant entre "Fournisseur 1*" et "Total Fournisseur 1*" inclus, et inversement.
J’ai pensé à l’algorithme ci-dessous (emprunté à du turbo pascal) mais à chaque fois que j’ai essayé de le «traduire», j’ai échoué ne maitrisant pas la syntaxe du VBA. J'ai vu que pour le test, je pouvais utiliser la fonction instr, mais les paramètres devaient être incorrectes. Donc si vous vouliez bien m’aider, ce serait très sympa. Merci.
i correspond à une ligne quelconque et initialisé à 1. B est la colonne avec le nom des fournisseurs.
While i < 100000 Do
If TestPrésenceAstérisque (« B & i») = 1
Then
ligne1 := i
ligne2 :=ligne1+1
While TestPrésenceAstérisque («B & ligne2») = 0 Do ligne2 := ligne2 + 1
For j := ligne1 to j := ligne2 Do CacherLaLigne(j)
i := b+1
Else i :=i+1
Bonne soirée