Macro

Bonjour à tous,

Je travaille sur des données journalières et j’ai besoin de votre aide pour une petite macro.

J’ai deux feuilles.

Une pour les config et calculs et une pour l’entrée des données et le résultat de mes calculs.

Dans la feuille config j’ai un tableau de 6 numéros qui grandi au fur et à mesure des jours.

Dans la feuille résultat, j’ai en A1 un nombre qui correspond à la valeur de la dernière ligne de mon tableau.

à savoir que la dernière ligne ne change jamais donc le principe est le suivant:

1 - j’entre les 6 numéros dans les cases vertes de « résultat »

2 - je clic sur un bouton dans cette même page.

le bouton fait la chose suivante:

  • ajout d’une ligne avant la ligne en A1
  • copier les 6 numéros sur cette nouvelle ligne à partir de la colonne « B »

La dernière ligne qui ne bouge pas est donc décalée vers le bas d’un cran et les données sont entrées sur cette nouvelle ligne.

Bon je pense que pour vous c’est un détail, mais moi je galère.

À l’avance merci pour votre aide.

6test-data.xlsm (11.37 Ko)

Bonjour,

Cela ?

Sub Macro4()
'
' Macro4 Macro
'

'
    Sheets("CONFIG").Select
    Rows("1:1").Select
    Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
    Range("B1").Select
    Sheets("resultat").Select
    Range("B3:G3").Select
    Selection.Copy
    Sheets("CONFIG").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
End Sub

Bonjour,

la copie ce fait en b1-g1 et non sur la ligne créée.

mais sinon c'est bien

en fait même la création de ligne ne vas pas

il faut utiliser le numéro en A1 de la feuille résultat pour ajouter une ligne juste avant celle-ci

exemple:

si en A1 de résultat on a 29 il faut donc sélectionner la ligne 29 et ajouter une ligne comme cela la nouvelle ligne est en 28 et il faut copier les nouvelles données sur cette ligne

re,

Eft la cellule A1 de la feuille résultat ne change jamais ?

il y a une erreur dans mon fichier test:

il faut enlever la fusion des cellules dans la feuille "resultat" pour ne copier qu'une cellule.

voici le code pour une ligne mais je n'arrive pas à l'adapter pour qu'il utilise comme valeur de ligne ce qu'il y a en A1 de "resultat".

Sub copie()
'
' copie Macro
'

'
    Sheets("CONFIG").Select
    Rows("28:28").Select
    Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
    Sheets("resultat").Select
    Range("B3:G3").Select
    Selection.Copy
    Sheets("CONFIG").Select
    Range("B28").Select
    Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
        False, Transpose:=False
    Sheets("resultat").Select
    Range("I3").Select
    Application.CutCopyMode = False
End Sub
Ï

si elle suit l'ajout de données.

en fait c'est A1+4 de la feuille config

Re,

j'ai fais quelques modifs mais je ne suis pas sur d'avoir compris le truc.

Dis moi si c'est bon.

Oui j'ai oublié de te le dire, il faut enlever la fusion.

et aussi on ajoute rien en colonne A pour la nouvelle ligne créée ?

Sub Macro2()

    x = Worksheets(2).Cells(1, 1)
    Sheets("CONFIG").Select
    Rows(x).Select
    Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
    Sheets("resultat").Select
    Range("B3:G3").Select
    Selection.Copy
    Sheets("CONFIG").Select
    Range("B" & x).Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Application.CutCopyMode = False

End Sub

yes super cela fonctionne.

juste une chose en colonne A de "config" j'ai mis un compteur qui me permet de remonter la valeur en A1 dans "resultat"

mais comme on insère un ligne ce n'est plus bon il faudrait donc ajouter un copié collé afin de rétablir le compteur

sinon un grand merci

c'est bon j'ai trouvé comment faire.

Un grand merci pour ton aide.

Rechercher des sujets similaires à "macro"