classeur compatible 2003 & 2000

nrdz83

XLDnaute Impliqué
Bonjour à tous une petite question je viens de faire un classeur avec des codes vba qui fonctionne trés bien sur mon PC avec xp et office 2003. A mon travail il y a un pc avec windows 2000 et office 2000. Et le programme ne fonctionne pas.
Est ce qui existe une astuce pour le faire fonctionner sur 2000? (enregistrement autre que .xls par exemple?)
D'avance merci à tous et bon week end
 

jeanpierre

Nous a quitté
Repose en paix
Re : classeur compatible 2003 & 2000

Bonsoir nrdz83... bean.... Mister'

Il y as quelques divergences entre 2000 et 2003, facilement repérables...

Précises la ou les choses...

Ensuite c'est assez simple.

A te lire.

Jean-Pierre
 

nrdz83

XLDnaute Impliqué
Re : classeur compatible 2003 & 2000

Bonsoir je vais donc essayer de me rappeler des erreurs deja il y avait celle là:>>
' Mise en place des valeurs saisies
DerLig = [A65000].End(xlUp).Row + 1
Cells(DerLig, 1) = TextBox1
Cells(DerLig, 2) = ComboBox2
Cells(DerLig, 3) = ComboBox3
Cells(DerLig, 4) = ComboBox4
Cells(DerLig, 5) = ComboBox5
Cells(DerLig, 6) = ComboBox6
Cells(DerLig, 7) = ComboBox7
Cells(DerLig, 8) = ComboBox8
Cells(DerLig, 9) = ComboBox9
Cells(DerLig, 10) = ComboBox10
Cells(DerLig, 11) = ComboBox11
Cells(DerLig, 12) = ComboBox12
Cells(DerLig, 13) = ComboBox13
Cells(DerLig, 14) = ComboBox14
Cells(DerLig, 15) = ComboBox15
Cells(DerLig, 16) = ComboBox16
Cells(DerLig, 17) = ComboBox17
Cells(DerLig, 18) = ComboBox18
Cells(DerLig, 19) = ComboBox19
Cells(DerLig, 20) = ComboBox20
Cells(DerLig, 21) = ComboBox21
' On décharge le formulaire
Unload Me


et puis celle-ci aussi: >>
Sub classerparnom()
'
' classerparnom Macro
' Macro enregistrée le 02/06/2008 par gilbert
'

'
Columns("A:S").Select
Selection.Sort Key1:=Range("A2"), Order1:=xlAscending, Key2:=Range("A2") _
, Order2:=xlAscending, Header:=xlGuess, OrderCustom:=1, MatchCase:= _
False, Orientation:=xlTopToBottom, DataOption1:=xlSortNormal, DataOption2 _
:=xlSortNormal
Range("A2").Select
End Sub


Voila merci pour vos lumières, mes amitiés :cool:
 

myDearFriend!

XLDnaute Barbatruc
Re : classeur compatible 2003 & 2000

Bonsoir nrdz83, jeanpierre, jelf, tototiti2008, chris,

Pour le premier plantage que tu cites, tu dois faire erreur, cette ligne est tout à fait recevable sur XL2000. Si problème il y a, il vient d'ailleurs.

Pour le deuxième cas, effectivement les arguments DataOption1 ou 2 n'existent pas sous XL2000, il te faut les supprimer (dans le cas présent, tu ne devrais pas avoir d'effet négatif sans ces arguments, même sous XL2003).

Cordialement,
 

nrdz83

XLDnaute Impliqué
Re : classeur compatible 2003 & 2000

bonjour mydear friend, je te remercie pour tes lumières, pour ma première erreur il me semble bien que c'etait ça . quant a la deuxième en supprimant les data on doit avoir ce code comma ça >>>
Columns("A:U").Select
Selection.Sort Key1:=Range("A2"), Order1:=xlAscending, Key2:=Range("A2") _
, Order2:=xlAscending, Header:=xlGuess, OrderCustom:=1, MatchCase:= _
False, Orientation:=xlTopToBottom
Range("A2").Select
End Sub
Effectivement ça fonctionne correctement sous 2003 je testerai lundi sous 2000.
Par contre une dernière petite question à quoi correspond "A6500" ?
Car si ça correspond aux nombres de ligne il y a bien 65536 lignes dans excel non ?
Voila merci et bonne journée à tous
 

jeanpierre

Nous a quitté
Repose en paix
Re : classeur compatible 2003 & 2000

Bonjour à tous et pour saluer en même temps chris, Didier mDF, et tous les autres,

"Par contre une dernière petite question à quoi correspond "A6500" ?
Car si ça correspond aux nombres de ligne il y a bien 65536 lignes dans excel non ?
"

Je suppose que tu voulais dire 65000...

Il n'y a que fort rarement autant de lignes, donc, on peut abréger à 65000 plutôt que de se rappeler 65536. On peut aussi mettre 10000 si l'on sait que cette valeur ne sera jamais atteinte.

Voilà et bon week-end.

Jean-Pierre
 

nrdz83

XLDnaute Impliqué
Re : classeur compatible 2003 & 2000

bonjour jean-pierre et bhbh+, merci pour tes lumières jean-pierre pour le 65000, je supposez cela mais je pensez que ça pouvez provoquer une erreur, déja moins con je me coucherais ce soir lol.
Bhbh je vais essayer ton indications, pour info c'est le code que tu m'avais concocté et que j'ai exploité vers d'autres classeur (donc le code ne peut que être parfait )lol.
Et oui on a le même patron toujours sous 2000 et ils parlent de passé à open office , et toi de ton côté?
Allez bone journée à tous ;)
 
C

Compte Supprimé 979

Guest
Re : classeur compatible 2003 & 2000

Salut Nrdz83 ;), bonjour à tous,

Je me permet de me glisser dans ce post :p
Pour pousser un léger "coup de geule"

Bonsoir je vais donc essayer de me rappeler des erreurs deja il y avait celle là:>>
' Mise en place des valeurs saisies
DerLig = [A65000].End(xlUp).Row + 1
Je ne doit pas le répêter assez, c'est certain :rolleyes:
Les crochets ne permettent pas une programmation correcte en VBA
C'est plus rapide à écrire, certe, mais c'est beaucoup plus long en exécution et prends plus de ressource CPU, car Excel est obligé d'analyser ce qui est mis !

Pour les fervents des crochets, faites ce que vous voulez ...

Mais, mieux vaut utiliser : Range("A" & Rows.Count).End(XlUp).Row + 1
Valable sur toutes les versions d'Excel y compris 2007

et puis celle-ci aussi: >>
Columns("A:S").Select
Selection.Sort Key1:=Range("A2"), Order1:=xlAscending, Key2:=Range("A2") _
, Order2:=xlAscending, Header:=xlGuess, OrderCustom:=1, MatchCase:= _
False, Orientation:=xlTopToBottom, DataOption1:=xlSortNormal, DataOption2:=xlSortNormal
Range("A2").Select
End Sub
Les DataOption 1 et 2 ne fonctionnent pas sur 2000.
En général lorsque que l'on développe du VBA sur 2003 qui risque d'être mis sur des PC en 2000 ou antérieur, il faut réduire le code à sa plus ismple expression.

Au passage il n'est pas utile de sélectionner une plage pour la trier ensuite
Code:
Columns("A:S").Sort Key1:=Range("A2"), Order1:=xlAscending, Key2:=Range("A2"), _
Order2:=xlAscending, Header:=xlGuess, OrderCustom:=1, MatchCase:= _
False, Orientation:=xlTopToBottom

Voilà Mr Bean ;)
 
Dernière modification par un modérateur:

nrdz83

XLDnaute Impliqué
Re : classeur compatible 2003 & 2000

Bonjour bruno M45 , j'ai essayé de mettre ton code à la place de celui entre crochets, mais regarde ce que j'obtiens comme erreur:


' Mise en place des valeurs saisies
Range("A" & Rows.Count).End(xlUp).Row 1
Cells(DerLig, 1) = TextBox1
Cells(DerLig, 2) = ComboBox2
Cells(DerLig, 3) = ComboBox3
Cells(DerLig, 4) = ComboBox4
Cells(DerLig, 5) = ComboBox5
Cells(DerLig, 6) = ComboBox6

En fait j'ai beau mettre le + et il s'efface automatiquement de ou cela provientil s'il te plait ?
VBonne journée à toi , amitiés :cool:
 
C

Compte Supprimé 979

Guest
Re : classeur compatible 2003 & 2000

Re, Nrdz83 ;)

Tu avais
Code:
' Mise en place des valeurs saisies
[COLOR=red]DerLig = [A65000].End(xlUp).Row + 1[/COLOR]
J'ai simplement dis qu'il était préférable de remplacer les [] par l'instruction Range()

Tu ne dois pas mettre l'instruction toute seule comme ça :confused:
Il faut la mettre dans ta variable !
Ce qui donne :
Code:
' Mise en place des valeurs saisies
[COLOR=blue][B]DerLig =[/B] [/COLOR]Range("A" & Rows.Count).End(xlUp[COLOR=black]).Row + 1[/COLOR]

Voilà :D
 

Discussions similaires

Réponses
2
Affichages
288

Statistiques des forums

Discussions
312 215
Messages
2 086 330
Membres
103 187
dernier inscrit
ebenhamel