Copier valeur les unes sous les autres / Boucle
Bonsoir à tous !!
Je reviens vers vous une fois de plus car j'ai besoin de votre aide.
Tout d'abord je vous joints mon " joli" fichier Excel.
J'ai cherché dans le forum mais comme je suis trés "novice" en macro (Merci au cour VBA du forum !!) , je n'ai pas su trouvé ma solution.
J'essaye de vous expliquer mon besoin :
Voir dans mon fichier dans l'onglet "REGUL PLAFOND".
Les Valeurs ( et uniquement les valeurs ) D5:H5 doivent être copiés en A10:E10
Lorsque les valeurs changent et quand je cliquerai sur le bouton "GENERER VALEURS", celles-ci devront se copier sur la ligne en dessous -> les valeurs D5:H5 seront copiés en A11:E11.
Etc etc .....
Je vous remercie par avance de votre aide .
Merci à tous
Pas besoin d’être agressif.
Voilà qui est fait ! j'ai modifié le titre et tout mis en minuscules, j'avais pourtant lu que les majuscules étaient à "eviter" et non pas "interdite", je n'avais pas fait exprès et surtout pas fait attention .... mais bon au moins je suis polie !!!!
merci encore pour votre aide future je l'espère !!!!
Re,
Entre nous, on sait très bien a quoi sert de mettre le titre en majuscule
Et là, je n'étais pas agressif
BrunoM45 a écrit :Re,
Entre nous, on sait très bien a quoi sert de mettre le titre en majuscule
Et là, je n'étais pas agressif
Bon tout est cool alors !!!
Re,
Voici le code
Sub GénérerValeurs()
Dim DLig As Long
With ThisWorkbook.Sheets("REGUL PLAFOND")
' Dernière ligne remplie, peut être l'entête
DLig = .Range("B" & Rows.Count).End(xlUp).Row
' Inscrire les valeurs sur la ligne du dessous
.Range("A" & DLig + 1 & ":E" & DLig + 1).Value = .Range("D5:H5").Value
End With
End SubA+
Oh...... merci merci !!!!!!
Voilà qui va me faciliter la vie !!!
Re ,
Encore merci ...
J'ai essayé d'appliquer la macro que tu m'as transmise pour un autre onglet de mon fichier .
A savoir "FILLON" ou je dois copier les valeurs D5:K5 en A9:H9 , et comme précédemment à chaque clics les nouvelles valeurs doivent se copier en A10:H10.
Mais j'ai commis une erreur et je n'arrive pas à "dupliquer" la macro. Y'a quelque chose qui bloque
Pourrais tu m'apporter ton aide et si cela ne te dérange pas me donner des explications sur le fonctionnement de la macro (qui fait quoi? déclaration de la variable? valeur? ) ?
Et là je mets un MERCI en majuscule !!!
Je joints à nouveau mon fichier Excel
BrunoM45 a écrit :Re,
Voici le code
Sub GénérerValeurs() Dim DLig As Long With ThisWorkbook.Sheets("REGUL PLAFOND") ' Dernière ligne remplie, peut être l'entête DLig = .Range("B" & Rows.Count).End(xlUp).Row ' Inscrire les valeurs sur la ligne du dessous .Range("A" & DLig + 1 & ":E" & DLig + 1).Value = .Range("D5:H5").Value End With End SubA+
Bonjour ,
Peux tu m'aider sur la macro de l'onglet "FILLON" ?
Il s'agit de la même chose . J'avais laissé un message avec le fichier à utiliser.
Merci encore !!
Ps si tu pouvais me donner quelques explications sur la macro j'essayerai de la faire toute seule sur mes autres fichiers
Merci
Bonjour Sandrinemo
SANDRINEMO a écrit :BrunoM45 a écrit :Peux tu m'aider sur la macro de l'onglet "FILLON" ?
Il s'agit de la même chose . J'avais laissé un message avec le fichier à utiliser.
Merci encore !!
Ps si tu pouvais me donner quelques explications sur la macro j'essayerai de la faire toute seule sur mes autres fichiers
Merci
Voici le code
Sub GénérerValeursFillon()
Dim DLig As Long
With ThisWorkbook.Sheets("FILLON")
' Dernière ligne remplie du tableau
' Dans la plage ne pas prendre l'entête
DLig = .Range("A9:A20").End(xlUp).Row
' Inscrire les valeurs sur la ligne du dessous
.Range("A" & DLig + 1 & ":H" & DLig + 1).Value = .Range("D5:K5").Value
End With
End SubCelui-ci est différent de l'autre, car tu as un tableau en dessous de celui ou tu dois coller les valeur
Petite explication, le
End(xlUp)fait comme ci tu appuyais sur CTRL+Flèche vers le haut pour te positionner sur la dernière cellule remplie et donc connaitre son numéro de ligne
En utilisant
DLig = .Range("A" & Rows.Count).End(xlUp).RowLa macro se positionne sur la cellule B1048576, dernière de la feuille fait CTRL+Flèche haut et se positionne sur A86 qui pour moi contient des valeurs ou A47 la dernière du tableau de dessous
Ce n'est donc pas la bonne ligne
A+
Wahou !!! Je m'essaye à tout ça demain ;
Encore merci de ton aide précieuse !!!
Bon week !!!
Bonjour,
Alors, je cherche je cherche mais je ne trouve pas !!!
Lorsque je génère pour la première fois les valeurs D5:K5 dans le tableau en A9:H9 j'ai #N/A qui se rajoute en I9:K9.
Puis lorsque je génère une deuxième fois les valeurs D5:K5 (qui sont donc des nouvelles valeurs correspondant à mon bulletin suivant ) , celle-ci viennent s'incrémenter à la même place (en A9:H9) alors que je voudrais qu'elle se copient en dessous en A10:K10.
etc etc .... à chaque clic , il faut que les valeurs D5:K5 incrémentent mon tableau les unes sous les autres, jusqu'à ce que je décide d’effacer mes données
Je te joints à nouveau mon fichier
Merci beaucoup
Re,
J'ai commis une erreur
Mais essaye de comprendre le code
J'avais mis la plage A à K = 11 colonnes a remplir par le contenu d'une plage de D à K = 8 colonnes
Forcément tu en as 3 qui ne peuvent recevoir quoique ce soit, d'où #N/A
Voicic le code modifié, désolé
Sub GénérerValeursFillon()
Dim DLig As Long
With ThisWorkbook.Sheets("FILLON")
' Dernière ligne remplie du tableau
' Dans la plage ne pas prendre l'entête
DLig = .Range("A21").End(xlUp).Row
' Inscrire les valeurs sur la ligne du dessous
.Range("A" & DLig + 1 & ":H" & DLig + 1).Value = .Range("D5:K5").Value
End With
End SubA+
BrunoM45 a écrit :Re,
J'ai commis une erreur
Mais essaye de comprendre le code
J'avais mis la plage A à K = 11 colonnes a remplir par le contenu d'une plage de D à K = 8 colonnes
Forcément tu en as 3 qui ne peuvent recevoir quoique ce soit, d'où #N/A
Voicic le code modifié, désolé
Sub GénérerValeursFillon() Dim DLig As Long With ThisWorkbook.Sheets("FILLON") ' Dernière ligne remplie du tableau ' Dans la plage ne pas prendre l'entête DLig = .Range("A9:A20").End(xlUp).Row ' Inscrire les valeurs sur la ligne du dessous .Range("A" & DLig + 1 & ":H" & DLig + 1).Value = .Range("D5:K5").Value End With End SubA+
Super ! Merci par contre , au clic suivant de la macro, mes valeurs ne s'incrémentent pas sur la ligne en dessous.
J'ai pourtant regardé ta macro.
Pour passer à la ligne suivante c'est bien la partie de ta macro :
' Inscrire les valeurs sur la ligne du dessous
.Range("A" & DLig + 1 & ":H" & DLig + 1).Value = .Range("D5:K5").Value
Si je comprends tu demandes à la macro de descendre d'un cran avec le "+1" ?
J'ai même comparé avec la 1er macro (sur la régul plafond) et là ça marche nickel.
Sans vouloir abuser ta gentillesse peux tu regarder pourquoi elle ne veut pas le faire ?
Merci encore
Re,
Encore désolé, je ne prends pas le temps de tester
Il faut remplacer la ligne du calcul de la dernière ligne par
DLig = .Range("A21").End(xlUp).RowEt là j'ai testé ça marche
Oh magique !!
Merci encore pour ton aide précieuse !
J'aurais surement d'autres problématiques sur mon fichier.
J'essaye de faire le point avant de lancer un autre sujet !
MERCI