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

BONSOIR,

TU AIMES CA LES MAJUSCULES A COMMENCER PAR TON PSEUDO...

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 Sub

A+

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 Sub

A+

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 Sub

Celui-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).Row

La 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 Sub

A+

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 Sub

A+

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).Row

Et 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

Rechercher des sujets similaires à "copier valeur boucle"