VBA Excel probleme avec des range

Résolu/Fermé
Mrfrize Messages postés 188 Date d'inscription jeudi 20 septembre 2007 Statut Membre Dernière intervention 28 novembre 2023 - 26 janv. 2012 à 11:29
Mrfrize Messages postés 188 Date d'inscription jeudi 20 septembre 2007 Statut Membre Dernière intervention 28 novembre 2023 - 2 févr. 2012 à 11:18
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



A voir également:

4 réponses

pilas31 Messages postés 1825 Date d'inscription vendredi 5 septembre 2008 Statut Contributeur Dernière intervention 24 avril 2020 643
Modifié par pilas31 le 26/01/2012 à 11:35
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
Mrfrize Messages postés 188 Date d'inscription jeudi 20 septembre 2007 Statut Membre Dernière intervention 28 novembre 2023 6
26 janv. 2012 à 12:04
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
chossette9 Messages postés 4239 Date d'inscription lundi 20 avril 2009 Statut Contributeur Dernière intervention 12 septembre 2014 1 306
26 janv. 2012 à 13:00
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
Mrfrize Messages postés 188 Date d'inscription jeudi 20 septembre 2007 Statut Membre Dernière intervention 28 novembre 2023 6
26 janv. 2012 à 13:04
OK merci
0
Mrfrize Messages postés 188 Date d'inscription jeudi 20 septembre 2007 Statut Membre Dernière intervention 28 novembre 2023 6
2 févr. 2012 à 10:21
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
lermite222 Messages postés 8702 Date d'inscription dimanche 8 avril 2007 Statut Contributeur Dernière intervention 22 janvier 2020 1 190
2 févr. 2012 à 11:03
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
Mrfrize Messages postés 188 Date d'inscription jeudi 20 septembre 2007 Statut Membre Dernière intervention 28 novembre 2023 6
2 févr. 2012 à 11:18
Je viens d'ouvrir un nouveua sujet
https://forums.commentcamarche.net/forum/affich-24350349-vba-range-cells-value-range-cells-v#p24350349

Je ne transpose pas je copie une ligne et cela reste une ligne.
0