macro insertion de lignes = nbre de données

  • Initiateur de la discussion Initiateur de la discussion chroberto
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

C

chroberto

Guest
Bonjour,
je souhaiterai créer une macro qui ajouterai des lignes supplémentaire dans mon tableau de saisie , sous les dernières données.
le nombres de lignes supplémentaires doit correspondre au nombres de données qui sont extraitent par ma macro.
question:
soit je cherche une macro qui compte le nombre de données extraitent et qui insère des lignes * (le nbre de données)?
soit une macro qui à chaque données à saisir, insère une ligne?

est-ce que je cherche dans la bonne direction?

merci pour toutes les aides que vous pourrez m'apporter.
 

Pièces jointes

Re : macro insertion de lignes = nbre de données

J'ai regardé ton code et c'est une vrai bombe! Tu devrais peut-être chercher la gentillesse des plus expérimentés de ce forum pour t'aider à y faire un bon nettoyage!

Pour répondre à ta question, je ne sais pas ce que ton bouton cherche comme données exactement, comble de paresse je n'ai pas cherché plus de 2 secondes, désolé! Mais pour répondre à ta question, si tu veux savoir combien de lignes sont à ajouter, tu dois d'abord les compter. Pour celà on utilise :

Code:
Dim maplage As Long
maplage = [COUNTA(A1:A10)+1]

Ici on compte le nombre de cellule remplies entre A1 et A10 et cette valeur est affectée à la variable maplage. S'il y a des données de A1 à A10 par exemple, ceci retournera 10 comme valeur à maplage. Le plus 1 est pour ne pas sélectionner la dernière ligne mais plustôt la prochaine. Ensuite on insère les lignes :

Code:
Dim nombredelignes as long
nombredelignes = maplage - 1
Range("A" & maplage).select
while nombredelignes > 0 
Selection.Insert Shift:=xlDown
nombredelignes = nombredelignes -1
wend
End sub

Ce qui te donne le code suivant :
Code:
Private Sub CommandButton1_Click()
Dim maplage As Long
Dim nombredelignes As Long
maplage = [COUNTA(A1:A10)+1]
nombredelignes = maplage - 1
Range("A" & maplage).Select
While nombredelignes > 0
Selection.Insert Shift:=xlDown
nombredelignes = nombredelignes - 1
Wend
End Sub

Tu peux ensuite utiliser Call pour appeler la macro qui poursuit le reste de ton code.
 
Re : macro insertion de lignes = nbre de données

merci d'avoir jeté un coup d'oeil à ma macro. Je suis d'accord avec toi au sujet de ce code "c'est une vrai BOMBE" à retardement !!! Mais hélàs, je ne suis encore qu'un noob en macro, mais je ne désespère pas de le pofinner lorsque je serai apte à le faire... en attendant je suis à l'écoute de toute proposition.

quoi qu'il en soit je te remercie pour ton aide et ton bout de code...je vais en faire un usage "atomique" (cf: "nuage atomique = BOMBE").
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
1
Affichages
177
Retour