Incompatibilite d'une macro d'une version Excel à une autre v
bonjour
j'ai un ordi qu marche sous vista, et excel 2003
jai une macro qui marche bien, et si je veux la mettre au boulot, sous windows XP, et Excel 2002 : ça ne marche pas!
y a t il un truc simple pour l adapter, ou une petite astuce à connaitre ?
SOS, Help
merci, et à +, ptkntz
Bonjour
C'est vague, quel est le message d'erreur, que fait ta macro?..........
Je pense qu'il serait bien que tu nous envoie ton fichier, tu auras plus de chance d'avoir une reponse.
Cordialement
Re,
Expliqué comme cela, je pense que le mieux est que tu analyses les instructions du code et que tu les compares à VBA excel 2002.
L'aide VBA devrait t'informer à ce sujet.
Dan
salut
je l'ai envoyé au boulot, et jeverrai demain si ça marche ou pas
je vous tiendrai au courant
merci, et @ +
salut
j'ai fait un copie collé, et ça me donne le message :
erreur d execution 2147352565 (8002000b):
le focus ne peut etre deplace sur le controle car celui ci est invisible, non active, ou d un type n acceptant pas le focus
puis il me propose debogage, mais apres apparait le message :
l'indice n'appartient pas à la selection
je joint la macro:
Private Sub CommandButton1_Click()
' Définition des constantes
Dim i As Byte
' Définition de la feuille sur laquelle les valeurs viennent copiées
With Sheets("Feuil2")
' recherche de la dernière ligne où recopier les valeurs
i = .Range("B65536").End(xlUp).Row + 1
'MsgBox i
' Inscription de la date sur la première colonne
.Cells(i, 1) = Date
' Copie des valeurs les unes après les autres
.Cells(i, 2) = Sheets("Feuil1").Cells(12, 5)
.Cells(i, 3) = Sheets("Feuil1").Cells(13, 5)
.Cells(i, 4) = Sheets("Feuil1").Cells(14, 5)
.Cells(i, 5) = Sheets("Feuil1").Cells(15, 5)
.Cells(i, 6) = Sheets("Feuil1").Cells(16, 5)
.Cells(i, 7) = Sheets("Feuil1").Cells(17, 5)
.Cells(i, 8) = Sheets("Feuil1").Cells(18, 5)
End With
End Sub
voilà, alors @+, Ptkntz
Salut le forum
Ptkntz, ton code tester sous Excel 2002 et 2003 fonctionne très bien.
Private Sub CommandButton1_Click()
' Définition des constantes
Dim i As Byte
' Définition de la feuille sur laquelle les valeurs viennent copiées
With Sheets("Feuil2")
' recherche de la dernière ligne où recopier les valeurs
i = .Range("B65536").End(xlUp).Row + 1
'MsgBox i
' Inscription de la date sur la première colonne
.Cells(i, 1) = Time
' Copie des valeurs les unes après les autres
.Cells(i, 2) = Sheets("Feuil1").Cells(12, 5)
.Cells(i, 3) = Sheets("Feuil1").Cells(13, 5)
.Cells(i, 4) = Sheets("Feuil1").Cells(14, 5)
.Cells(i, 5) = Sheets("Feuil1").Cells(15, 5)
.Cells(i, 6) = Sheets("Feuil1").Cells(16, 5)
.Cells(i, 7) = Sheets("Feuil1").Cells(17, 5)
.Cells(i, 8) = Sheets("Feuil1").Cells(18, 5)
End With
End Sub
A te relire
Mytå
salut
en fait, le fichier du boulot contient 9 feuilles, et la macro tient compte du rang de chacune
j'ai donc mis les 2 feuilles concernées en rang 1 et 2, puis j'ai supprimé les anciennes données, et j'ai copié collé le fichier que vous m'aviez concocté sur les 2 1eres feuilles, et o miracle, ça a marché!
seulement, j'ai ,voulu trop bien faire, et j'ai voulu mettre un texte surt la macro, à la place de commandbutton, et là, ça ne marchait plus !!
j'ai eu beau réannuler, et recopier coller, rien !
il y a toujours les memes messages d erreur que je vous ai déjà envoyés precedemment
pourriez vous me dir e ce q'il faut faire, je suis sur que ce n 'est poas grand chose
@+, ptkntz
Re le forum
Ptkntz, le code est attribuer à un bouton sur la Feuillle
Private Sub CommandButton1_Click()
' Définition des constantes
Dim i As Byte
' Définition de la feuille sur laquelle les valeurs viennent copiées
With Sheets("Feuil2")
' recherche de la dernière ligne où recopier les valeurs
i = .Range("B65536").End(xlUp).Row + 1
'MsgBox i
' Inscription de la date sur la première colonne
.Cells(i, 1) = Time
' Copie des valeurs les unes après les autres
.Cells(i, 2) = Sheets("Feuil1").Cells(12, 5)
.Cells(i, 3) = Sheets("Feuil1").Cells(13, 5)
.Cells(i, 4) = Sheets("Feuil1").Cells(14, 5)
.Cells(i, 5) = Sheets("Feuil1").Cells(15, 5)
.Cells(i, 6) = Sheets("Feuil1").Cells(16, 5)
.Cells(i, 7) = Sheets("Feuil1").Cells(17, 5)
.Cells(i, 8) = Sheets("Feuil1").Cells(18, 5)
End With
End Sub
Toi, tu veux une macro à lancer de n'importe quelle feuille.
Alors le code va dans un module standard, et non dans le module d'une feuille.
Reviens avec plus d'information, trop vague ta demande.
Mytå
salut
en fait, ma question peut se resumer à cela :
j'ai un dossier à part de 2 feuilles, où cette macro marche
pourquoi, si je fais copier-coller sur un autre fichier vierge de 2 autres feuilles, ça ne marche plus ?
le copier-coller , je l'ai fais aussi pour le code de la macro .
que veulent dire les messages " erreur "9", l'indice n'appartient pas à la selection
que faut il prendre comme precautions pour reproduire un dossier comme celui ci ?
je ne peux pas te joindre les fichiers originaux, car ils ne peuvent sortir du bureau
mais comme ça a déjà marché, je sais que c'est possible
mais on y arrivera !!!
si tu veux voir les fichiers, c'est quelques messages plus haut
merci pour ta patience, @+,Ptkntz
salut!
le probleme est resolu
en fait, dans mon fichier test j'ai laisse feuille 1 et feuille 2, alors que dans mon fichier au bureau, ils avaient des noms plus precis, et la macro ne les reconnaissait donc pas
une derniere question:
comment peut on transformer l'etat du "commandbutton" (couleur, et message) ?
@+, Ptkntz