VBA Excel probleme avec des range

Résolu
Mrfrize Messages postés 197 Date d'inscription   Statut Membre Dernière intervention   -  
Mrfrize Messages postés 197 Date d'inscription   Statut Membre Dernière intervention   -
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. pilas31 Messages postés 1878 Statut Contributeur 648
     
    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
  2. Mrfrize Messages postés 197 Date d'inscription   Statut Membre Dernière intervention   6
     
    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. chossette9 Messages postés 6855 Date d'inscription   Statut Contributeur Dernière intervention   1 313
       
      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. Mrfrize Messages postés 197 Date d'inscription   Statut Membre Dernière intervention   6
       
      OK merci
      0
  3. Mrfrize Messages postés 197 Date d'inscription   Statut Membre Dernière intervention   6
     
    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
  4. lermite222 Messages postés 9042 Statut Contributeur 1 199
     
    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