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,

    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,
    1
    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
      0
      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.
        0
      2. OK merci
        0
    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
      0
      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+
        0