VBA Excel probleme avec des range

Résolu
Bonjour,

Voici mon probleme, je dois juste recopier des valeurs d'un fichier a un autre.
Voici mon code mais il ne marche pas je ne sais pas pourquoi. Toutes mes cellules collées sont égal a ""

Pricing_sheet.Sheets("Pricing Sheet").Range("C11:C13").Value = database.Sheets("Cables").Range("A2:A4")

Alors que lorsque je fais cellule par cellule ca marche:

Pricing_sheet.Sheets("Pricing Sheet").Cells(11, 3).Value = database.Sheets("Cables").Cells(2, 1)

Quelqu'un a une idée de pourquoi ca ne marche pas? Merci d'avance

4 réponses

  1. Contributeur
    Bonjour,
    Tu aurais dû ouvrir un autre poste.
    Mais bon, je vais quand même y répondre.
    Tu ne peu pas transposer la copie de ligne en colonne de cette façon.
    Essaye avec..
    Data.Sheets("Summary Contacts").Range(Cells(i, 10), Cells(i, 14)).Copy
    NewSite.Cells(7, 3).PasteSpecial Paste:=xlAll, Operation:=xlNone, SkipBlanks:=False _
            , Transpose:=True

    Si ça ne va pas, ouvre une nouvelle question.
    A+
  2. Bonjour a tous,

    Voila j'ai un probleme tout a fait similaire,

    Lorsque j'écris :
    NewSite.Cells(3, 3).Value = Data.Sheets("Summary Contacts").Cells(i, 5).Value

    ma macro fonctionne mais lorsque j'écris:
    NewSite.Range(Cells(7, 3), Cells(7, 7)).Value = Data.Sheets("Summary Contacts").Range(Cells(i, 10), Cells(i, 14)).Value

    Elle ne fonctionne pas je ne comprends pas pourquoi?
    Quelqu'un aurai une idée?

    Mon message d'erreur est:

    Run-time error '1004':
    Application-defined or object-defined error

    Merci d'avance
    1. Exactement c'était ca mais du coup je ne comprends pas pourquoi avec les cells ca marche sans .value

      Pricing_sheet.Sheets("Pricing Sheet").Cells(11, 3).Value = batabase.Sheets("Cables").Cells(2, 1)

      Quelqu'un a une explication?

      Encore merci
      1. Contributeur
        Bonjour,

        c'est sûrement parce que la fonction de base associée à .Cells est .Value, ce qui n'est pas le cas avec les Range.
      2. OK merci
    2. Contributeur
      Bonjour,

      Il manque peut-être un .value à la fin :

      Pricing_sheet.Sheets("Pricing Sheet").Range("C11:C13").Value = database.Sheets("Cables").Range("A2:A4").Value

      A tester
      Cordialement,