Variable qui s'incrémente à chaques executions

Bonjour à tous,

Je suis actuellement en train de réaliser un logiciel VBA permettant de créer un tableau au fur et à mesure que l'utilisateur rentre ses paramètres mais je rencontre quelques difficultés.

Je travail avec 3 feuilles:

  • la première dans laquelle l’utilisateur rentre ses différents paramètres et exécute la macro à l'aide d'un bouton,
  • la deuxième est un tableau récapitulatif de tous les éléments sélectionnés,
  • la dernière me sert pour le stockage des données,

Ce que je souhaites réaliser c'est un tableau qui se créé au fur et à mesure et que les informations rentrées par l'utilisateur s'intègrent directement dans le tableau lorsqu'il exécute la macro.

Pour cela je dois utiliser une variable indiquant à quelle ligne (du tableau final) ajouter les informations. Cette variable doit donc s'incrémenter à chaque exécution de la macro, pour passer à la ligne suivante du tableau lorsque l'utilisateur rentrera les paramètres suivants. Dans mon code j'ai donc créé une variable ligne pour faire ça.

J'aurais donc besoin de votre aide pour créer cette variable avec une valeur de départ différente de 0 qui plus est (dans mon exemple j'aimerais quelle commence à 15 par rapport au format du tableau).

Merci de votre aide

Bonjour,

l'instruction Range("A" & Rows.Count).End(xlUp).Row donne le N° de la dernière ligne non vide d'une colonne

pour avoir la première ligne "libre" suivant la dernière ligne occupée: Range("A" & Rows.Count).End(xlUp).Row + 1

Il faut préciser sur quelle feuille on veut déterminer cette ligne:

Sheets("Tabl").Range("A" & Rows.Count).End(xlUp).Row + 1

puis affecter ce N° à une variable:

ligne = Sheets("Tabl").Range("A" & Rows.Count).End(xlUp).Row + 1

Par ailleurs pourquoi mettre les valeurs dans un tableau pour ensuite affecter les éléments du tableau à des cellules?

On pourrait affecter ces valeurs directement aux cellules

A+

Bonjour

Si je comprend bien, tu veux écrire l'une en dessous de l'autre des données sur la première ligne vide d'un tableau. Pour se faire tu demande à Excel de partir de tout en bas du classeur et de remonter cellule par cellule jusqu'à ce qu'il trouve un contenue dans une cellule. De là il te retourne le numéro de la première ligne non vide. Il ne reste juste plus qu'à faire "+1" pour trouver la première ligne vide !

Pour récurer ce numéro, tu fais comme tu as commencer à le faire en définissant ligne=. Il ne reste plus qu'à obtenir le numéro via le codeRange("a65000").End(xlUp).Row

Ce qui donne au final :

ligne = Sheets("Nom de ta feuille").Range("a65000").End(xlUp).Row + 1

J'espère avoir répondu à ta question tout en t'apportant quelques infos pour mieux comprendre

Super c'est exactement ce que je cherchais à faire !

Merci beaucoup

Rechercher des sujets similaires à "variable qui incremente chaques executions"