Forum Clubic

Aide sur macro Excel

Je vous explique.
J’ai un fichier excel avec 15 colonnes et X lignes (X varie à chaque nouveau fichier)
Je dois intégrer ce fichier dans un logiciel sous un certain format c’est à dire avec des colonnes en plus et des valeurs dans chaque ligne de ces colonnes.
J’ai réussi à ajouter via une macro les colonnes à l’endroit exacte où je le souhaite.
J’ai réussi à mettre les valeurs (toujours les mêmes) dans les lignes seulement je ne sais pas m’arreter à la fin du fichier.
Par exemple mon fichier contient le lundi 30 lignes et le mardi 50 lignes.
Il me faut donc une macro qui regarde combien de lignes sont utilisées et qu’il me copie mes valeurs juste pour ces X lignes.
J’espère que je suis clair.

Merci à tous ceux qui m’aideront, je précise que je ne suis pas programmeur (autodidacte), j’enregistre les macros avec l’outil d’excel puis avec l’éditeur je les retouche et arrive plus ou moins à comprendre le code.

Tu peux essayer un truc du genre. La variable NbLignes te retourne le nombre de lignes dans le fichier excel

Dim NbLignes As Integer
Dim f As Worksheet

Set f = ActiveSheet 'selectionne ta feuille active
NbLignes = f.UsedRange.Rows.Count 'compte le nombre de ligne sur cette feuille

Merci de t’interresser à mon probleme
est ce que ca me renvoi le nombre de ligne non vide?
je n’ai qu’une feuille dans mon fichier, je peux me passer d’activer la feuille?
merci d’avance

Ce n’est pas une activation de la feuille, c’est simplement pour dire que la feuille active sera désignée dans la suite par la variable f
Mais rien ne t’empêche de tout mettre en une seule ligne :
NbLignes = ActiveSheet.UsedRange.Rows.Count

Ca ne renvoie pas le nombre de lignes non vides, mais la différence entre la dernière et la première lignes utilisées.
Par exemple, si tu utilises les lignes 3 à 11, cela te retournera 9
Mais si les lignes 6 et 7 sont vides, cela te retournera aussi 9

OK ca me me pose pas de probleme car normalement le fichier est toujours constitué de la même manière et il n’y a pas de lignes vides.
J’ai bien reussi avec votre methode à récupérer le nombre de ligne ca fonctionne.
Maintenant (desolé d’abuser) je dois sélectionner la zone A2:A80 (si j’ai 79 lignes d’utilisées) et remplier les zones avec la même valeur, TEST par exemple (c’est une zone de texte alphanumerique)
le probleme c’est que je connais la commande Range(“A2:A80”).select mais quel est la syntaxe pour le faire avec une variable?
a savoir NbLignes dans l’exemple ci-dessus car forcement ca me renvoi des erreurs.
merci encore

Tu mets la partie littérale dans les guillemets, et la partie numérique en dehors en les reliant par un “&”
Range(“A2:A” & NbLignes)
Et pour affecter une valeur :
Range(“A2:A” & NbLignes).formula = “TEST”

MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMerci
tout fonctionne a merveille, quand on connait les syntaxes effectivement on gagne du temps.
Merci à tous.