Macro Excel 2003 => 2000

Bonjour à tous

Je suis en plein "cauchemar!!!" )

J ai récupéré une macro (quimarche) en format excel 2003.

Je l ai modifiée par rapport a mon besoin exact et ai transmis le fichier a des utilisateurs finaux... équipés de excel 2000.

Evidemment, ça ne fonctionne pas!!!

La problématique est simple : par rapport a des critères figurant dans l'onglet 1, des lignes entières doivent être coupées et collées sur l onglet 2.

C'est cette maniupulation qui semble déranger Excel 2000.

La fonction...

Range(Rows(LigneRef + 1), Rows(a)).Select

Selection.PasteSpecial Paste:=xlPasteValidation, Operation:=xlNone, _

SkipBlanks:=False, Transpose:=False

...semble lui poser un problème

et plus particulierement le "pastevalidation" qui n existe apparemment pas dans VBA 2000.

Etant donné que j ai récupéré cette macro (qui marche... toujours!) je n ai pas bien cerné l utilité de ce "validation". tout ce que je sais, c'est que si je mets "values" a la place, ça va me coller X fois la même ligne... donc c'est bien d'une histoire de "liste" de lignes identifiées qu'il s'agit.

Je sais que ces histoires de versionning sont a s arracher les cheveux...

mais sur ce coup là, je suis persuadé qu il existe une ou 2 lignes a coder qui remplaceront ce paste validation...

parce qu a part ça tout marche

Merci d avance

Arnaud

Bonjour,

Remplace la partie du code suivant (version 2003):

Paste:=xlPasteValidation

par celui-ci (version 2000):

Paste:=xlDataValidation

et teste après.

Merci Raja pour ta réactivité

mais ça ne marche pas non plus

le code plus complet est :

Sub Formatage(Onglet2 As String, LigneRef As Integer)

Dim a As Integer

a = NBlignes(Onglet2, LigneRef) + 1

Rows(LigneRef).Select

Selection.Copy

Range(Rows(LigneRef + 1), Rows(a)).Select

Selection.PasteSpecial Paste:=xlPasteValidation, Operation:=xlNone, _

SkipBlanks:=False, Transpose:=False

Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _

SkipBlanks:=False, Transpose:=False

Selection.Rows.AutoFit

Cells(1, 2).Select

Selection.Copy

Cells(1, 2) = Date

merci encore a tous d avance!

Re,

Remplace le code suivant :

Selection.PasteSpecial Paste:=xlPasteValidation, Operation:=xlNone, _ 
SkipBlanks:=False, Transpose:=False 
Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _ 
SkipBlanks:=False, Transpose:=False 

par :

Selection.PasteSpecial Paste:=xlDataValidation, Operation:=xlNone, _ 
SkipBlanks:=False, Transpose:=False 
Selection.PasteSpecial Paste:=xlFormats, Operation:=xlNone, _ 
SkipBlanks:=False, Transpose:=False

et teste. Dis-nous dans quel endroit ça se plante. Nous avons besoin de précisions pour te conseiller efficacement. Quand tu dis que

mais ça ne marche pas non plus

, cela nous donne aucune indication.

Salut

Alors ça ne fonctionne pas

et ça dit :

"Erreur d'exécution '1004':

La méthode PasteSpecial de la classe Range a échoué."

(je suis encore novice sur vba...)

Merci d avance

Arnaud

Bonjour,

Tu ne devrais pas avoir de soucis avec le PASTEVALIDATION qui fonctionne sous toutes les versions.

Le pb est de savoir ce que tu cherches à faire exactement car récupérer un code c'est bien mais parfois mieux de tout refaire ou du moins en partie.

Deux questions :

  • As-tu des liste de validation à copier ?
  • Ligref correspond à quoi dans ton fichier ?

A te relire

Dan

Salut

Moi qui pensais que la macro remarchait, je suis bien déçu !

En fait je suis très étonné.

Lorsque je passe sur un fichier vierge et que j enregistre la macro de copier coller special "validation" (pour coller les listes de validations), et bien le bug recommence.

Le code en question est

[ Selection.PasteSpecial Paste:=xlDataValidation, Operation:=xlNone, _

SkipBlanks:=False, Transpose:=False]

Donc il correspond pile poil a ce que vous m avez donné.

A ce niveau là je ferme VBA et exécute la macro...

Elle plante à son tour.

Vous pouvez essayer... si vous avez excel 2000

succès garanti...

l'action est effectuée lorsqu on la fait a la main, mais elle ne fonctionne pas lorsque qu on exécute la macro

Est ce un bug excel 2000 ? ou plutot VBA ?

Avez vous des éléments de réponse a me donner ?

Merci bcpbcp d avance...

Arnaud[/code]

Bonjour à tous,

Vérifie la protection feuille et les cellules fusionnées, au hasard !

Amicalement

Claude.

ok guys

j ai trouvé un site british qui propose la solution a mon probleme

http://www.pcreview.co.uk/forums/thread-1009073.php

en fait il y a véritablement un bug windows sur excel 2000

le "pastevalidation" n est pas pris en charge par VBA.

Il faut le remplacer par "6"

illustration : pour...

Selection.PasteSpecial Paste:=xlDataValidation, Operation:=xlNone, _

SkipBlanks:=False, Transpose:=False

remplacer par...

Selection.PasteSpecial Paste:=6, Operation:=xlNone, _

SkipBlanks:=False, Transpose:=False

C'est incroyable.. mais ca a l air de marcher !!

Rechercher des sujets similaires à "macro 2003 2000"