Macro a corriger

Résolu
Bonjour,

J'ai fait une macro qui me fait un copier coller en fonction du résultat d'une cellule.
Macro qui tourne tant que le résultat de la cellule est supérieur a 0 ,mais ça ne fonctionne pas .
Quelqu'un pourrait 'il m'aider.
d'avance merci
j'ai excel 2000

Sub Macro13()
Range("A48").Select
While ActiveCell.Value >= 1
Range("O48:W56").Select
Selection.Copy
Range("O25").Select
Selection.PasteSpecial Paste:=xlValues, Operation:= _
xlAdd, SkipBlanks:=False, Transpose:=False
Wend
Range("A48").Select
End Sub

Configuration: Windows / Firefox 99.0

6 réponses

  1. Bonjour,

    regarde comme cela voir

    Sub Macro13()
    If Range("A48") >= 1 Then
    Range("O48:W56").Copy
    Range("O25").Select
    Selection.PasteSpecial Paste:=xlValues
    Application.CutCopyMode = False
    End If
    Range("A48").Select
    End Sub

    0
    1. Bonjour
      je te remercie,mais ça ne fonctionne qu'une fois , je voudrais que tant que la cellule A48 est plus grande ou=1 ,l'action est répétée.

      Merci d'avance
      0
  2. Bonjour,

    Voir avec:
    Sub Macro13()
    While Range("A48").Value >= 1
    Range("O48:W56").Copy
    Range("O25").PasteSpecial
    Wend
    Range("A48").Select
    End Sub
    


    Cdlt.
    0
    1. Re,

      oui mais attention de ne pas créer une boucle infinie dans laquelle tu ne pourrais pas sortir

      si j'ai compris ton problème si tu as 1 ou plus en A48 on copie la plage O48:W56 à partir de la cellule O25

      ensuite le code se réactive sur un double clic
      0
      1. la macro ne tourne pas en boucle malgré que la cellule A48 ai une valeur plus grande que 1 .
        la partie copier coller valeur addition n'est pas a modifier.
        a chaque boucle la valeur de A48 se modifie

        Sub Macro13()
        Range("A48").Select
        While ActiveCell.Value >= 1
        Range("O48:W56").Select
        Selection.Copy
        Range("O25").Select

        Selection.PasteSpecial Paste:=xlValues, Operation:= _
        xlAdd, SkipBlanks:=False, Transpose:=False
        Wend

        Range("A48").Select
        End Sub
        0
    2. Re,

      a chaque boucle la valeur de A48 se modifie
      comment A48 se modifie, dans ton code rien ne la modifie
      0
      1. ça y est j'ai trouvé le code qui marche.
        pour répondre a ta question, le code qui fait le copier coller modifie les valeurs puisque c'est un copier-collage special_valeur_addition ce qui modifiais les valeurs.
        Quant au code de: T3chN0g3n il me faisais planter excel.

        Merci a tous

        Sub Macro13()
        Range("A48").Select
        While ActiveCell.Value >= 1
        Range("O48:W56").Select
        Selection.Copy
        Range("O25").Select
        Selection.PasteSpecial Paste:=xlValues, Operation:= _
        xlAdd, SkipBlanks:=False, Transpose:=False
        Range("A48").Select
        Wend
        End Sub
        0
        1. Ha j'ai pas mis les attributs du collage spécial donc forcément ça devait tourner en boucle à l'infini ...
          0
      2. Re,

        Ah bon si tu trouves que ton code fonctionne,
        0