OVH Cloud OVH Cloud

Impossible de faire un Range("A1").Activate

5 réponses
Avatar
Sabian
Salut...
Dans un endroit pr=E9cis de mon code, Excel s=E9lectionne une=20
feuille pr=E9cise et ensuite je lui demande de se placer sur=20
A1...=20

A ce moment, il me fait une erreur d'exection 1004 et =E7a=20
me plante.

Voici le code utilis=E9:

Sheets("VISA").Activate
Range("A1").Activate

Merci de vos lumi=E8res...
a++

Sabian

5 réponses

Avatar
sabatier
Range("A1").Select

ça devrait mieux coller
jps

Sabian wrote:

Salut...
Dans un endroit précis de mon code, Excel sélectionne une
feuille précise et ensuite je lui demande de se placer sur
A1...

A ce moment, il me fait une erreur d'exection 1004 et ça
me plante.

Voici le code utilisé:

Sheets("VISA").Activate
Range("A1").Activate

Merci de vos lumières...
a++

Sabian


Avatar
Michel Gaboly
Bonjour,

Tu es sûr qu'il s'agit d'une feuille de calcul ? Avec
une feuille graphique, il serait logique que ça plante.

Autre piste : une erreur 1004, c'est quand Excel
refuse de faire ce que lui demande VBA : dans ce cas
une tentative manuelle plante aussi : que se passe-
t-il si après le plantage de la macro, tu essaies
manuellement de sélectionner la cellule A1 ?


pour plus de précision,
Lorsque je lui demande de sélectionner la feuille et de se
placer en A1, Excel est en plein dans un Do While et dans
un If End if.

C'est peut-être ça le problème... non ?

-----Message d'origine-----
Range("A1").Select

ça devrait mieux coller
jps

Sabian wrote:

Salut...
Dans un endroit précis de mon code, Excel sélectionne
une


feuille précise et ensuite je lui demande de se placer
sur


A1...

A ce moment, il me fait une erreur d'exection 1004 et ça
me plante.

Voici le code utilisé:

Sheets("VISA").Activate
Range("A1").Activate

Merci de vos lumières...
a++

Sabian


.




--
Cordialement,

Michel Gaboly
http://www.gaboly.com



Avatar
sabatier
essaie
1) soit avec ActiveSheet.Range......
2) soit avec Sheets("LeNomDeTaFeuille").Range....

je subodore que la macro que tu lances n'est pas dans le module de la
feuille que tu activates..
jps

Sabian a écrit:
Bonjour,

C'est effectivement une feuille de calcul. De plus, si je
sélectionne manuellement la cellule A1 et que je vais pas
à pas dans le code, tout fonctionne nickel.

Pour info,
1) Nommer une feuille "Saisie"
2) Nommer une feuille "VISA"
Placez le code suivant sur un bouton dans la
feuille "Saisie":

'variable de nom
Dim VarName As String

'--------- Feuille *Saisie* ---------

Sheets("Saisie").Activate
Range("A1").Activate 'Ce Range-là fonctionne
VarName = ActiveCell.Value

Do While ActiveCell.Value <> ""

If ActiveCell.Value = VarName Then
ActiveCell.Offset(1, 0).Activate
Else
Sheets("VISA").Select

Range("A1").Select 'ce Range-là ne fonctionne pas


If Selection.End(xlDown).Row = 65536 Then
Else
Selection.End(xlDown).Select
ActiveCell.Offset(1, 0).Select
End If

ActiveCell.Value = VarName

Sheets("Saisie").Activate
VarName = ActiveCell.Value
End If
Loop
end sub

J'ai retester sur un autre document, ça plante aussi...



-----Message d'origine-----
Bonjour,

Tu es sûr qu'il s'agit d'une feuille de calcul ? Avec
une feuille graphique, il serait logique que ça plante.

Autre piste : une erreur 1004, c'est quand Excel
refuse de faire ce que lui demande VBA : dans ce cas
une tentative manuelle plante aussi : que se passe-
t-il si après le plantage de la macro, tu essaies
manuellement de sélectionner la cellule A1 ?



pour plus de précision,
Lorsque je lui demande de sélectionner la feuille et de


se


placer en A1, Excel est en plein dans un Do While et


dans


un If End if.

C'est peut-être ça le problème... non ?


-----Message d'origine-----
Range("A1").Select

ça devrait mieux coller
jps

Sabian wrote:


Salut...
Dans un endroit précis de mon code, Excel sélectionne


une


feuille précise et ensuite je lui demande de se


placer




sur

A1...

A ce moment, il me fait une erreur d'exection 1004


et ça




me plante.

Voici le code utilisé:

Sheets("VISA").Activate
Range("A1").Activate

Merci de vos lumières...
a++

Sabian


.



--

Cordialement,

Michel Gaboly
http://www.gaboly.com


.









Avatar
Michel Gaboly
Salut jps,

Tu as trouvé je pense ;-)))

Le code figurant dans un module de feuille ne peut pas manipuler
d'autres feuilles.

Sabian, modifie ton code en faisant une procédure dans un module
standard, que tu appelles à partir du code attaché au bouton, code
qui lui, doit être dans le module attaché à la feuille contenant le
bouton.


essaie
1) soit avec ActiveSheet.Range......
2) soit avec Sheets("LeNomDeTaFeuille").Range....

je subodore que la macro que tu lances n'est pas dans le module de la
feuille que tu activates..
jps

Sabian a écrit:
Bonjour,

C'est effectivement une feuille de calcul. De plus, si je
sélectionne manuellement la cellule A1 et que je vais pas
à pas dans le code, tout fonctionne nickel.

Pour info,
1) Nommer une feuille "Saisie"
2) Nommer une feuille "VISA"
Placez le code suivant sur un bouton dans la
feuille "Saisie":

'variable de nom
Dim VarName As String

'--------- Feuille *Saisie* ---------

Sheets("Saisie").Activate
Range("A1").Activate 'Ce Range-là fonctionne
VarName = ActiveCell.Value

Do While ActiveCell.Value <> ""

If ActiveCell.Value = VarName Then
ActiveCell.Offset(1, 0).Activate
Else
Sheets("VISA").Select

Range("A1").Select 'ce Range-là ne fonctionne pas


If Selection.End(xlDown).Row = 65536 Then
Else
Selection.End(xlDown).Select
ActiveCell.Offset(1, 0).Select
End If

ActiveCell.Value = VarName

Sheets("Saisie").Activate
VarName = ActiveCell.Value
End If
Loop
end sub

J'ai retester sur un autre document, ça plante aussi...



-----Message d'origine-----
Bonjour,

Tu es sûr qu'il s'agit d'une feuille de calcul ? Avec
une feuille graphique, il serait logique que ça plante.

Autre piste : une erreur 1004, c'est quand Excel
refuse de faire ce que lui demande VBA : dans ce cas
une tentative manuelle plante aussi : que se passe-
t-il si après le plantage de la macro, tu essaies
manuellement de sélectionner la cellule A1 ?



pour plus de précision,
Lorsque je lui demande de sélectionner la feuille et de


se


placer en A1, Excel est en plein dans un Do While et


dans


un If End if.

C'est peut-être ça le problème... non ?


-----Message d'origine-----
Range("A1").Select

ça devrait mieux coller
jps

Sabian wrote:


Salut...
Dans un endroit précis de mon code, Excel sélectionne


une


feuille précise et ensuite je lui demande de se


placer




sur

A1...

A ce moment, il me fait une erreur d'exection 1004


et ça




me plante.

Voici le code utilisé:

Sheets("VISA").Activate
Range("A1").Activate

Merci de vos lumières...
a++

Sabian


.



--

Cordialement,

Michel Gaboly
http://www.gaboly.com


.






--
Cordialement,

Michel Gaboly
http://www.gaboly.com






Avatar
Sabian
ok... ben j'ai flanqué ce code dans le classeur de macro
perso et j'ai collé un bouton sur une barre de menu...

Tout roule nickel...

Merci et a++

Sabian


-----Message d'origine-----
Salut jps,

Tu as trouvé je pense ;-)))

Le code figurant dans un module de feuille ne peut pas
manipuler

d'autres feuilles.

Sabian, modifie ton code en faisant une procédure dans un
module

standard, que tu appelles à partir du code attaché au
bouton, code

qui lui, doit être dans le module attaché à la feuille
contenant le

bouton.


essaie
1) soit avec ActiveSheet.Range......
2) soit avec Sheets("LeNomDeTaFeuille").Range....

je subodore que la macro que tu lances n'est pas dans
le module de la


feuille que tu activates..
jps

Sabian a écrit:
Bonjour,

C'est effectivement une feuille de calcul. De plus,
si je



sélectionne manuellement la cellule A1 et que je vais
pas



à pas dans le code, tout fonctionne nickel.

Pour info,
1) Nommer une feuille "Saisie"
2) Nommer une feuille "VISA"
Placez le code suivant sur un bouton dans la
feuille "Saisie":

'variable de nom
Dim VarName As String

'--------- Feuille *Saisie* ---------

Sheets("Saisie").Activate
Range("A1").Activate 'Ce Range-là fonctionne
VarName = ActiveCell.Value

Do While ActiveCell.Value <> ""

If ActiveCell.Value = VarName Then
ActiveCell.Offset(1, 0).Activate
Else
Sheets("VISA").Select

Range("A1").Select 'ce Range-là ne
fonctionne pas





If Selection.End(xlDown).Row = 65536 Then
Else
Selection.End(xlDown).Select
ActiveCell.Offset(1, 0).Select
End If

ActiveCell.Value = VarName

Sheets("Saisie").Activate
VarName = ActiveCell.Value
End If
Loop
end sub

J'ai retester sur un autre document, ça plante
aussi...






-----Message d'origine-----
Bonjour,

Tu es sûr qu'il s'agit d'une feuille de calcul ? Avec
une feuille graphique, il serait logique que ça
plante.





Autre piste : une erreur 1004, c'est quand Excel
refuse de faire ce que lui demande VBA : dans ce cas
une tentative manuelle plante aussi : que se passe-
t-il si après le plantage de la macro, tu essaies
manuellement de sélectionner la cellule A1 ?



pour plus de précision,
Lorsque je lui demande de sélectionner la feuille et
de






se


placer en A1, Excel est en plein dans un Do While et


dans


un If End if.

C'est peut-être ça le problème... non ?


-----Message d'origine-----
Range("A1").Select

ça devrait mieux coller
jps

Sabian wrote:


Salut...
Dans un endroit précis de mon code, Excel
sélectionne








une


feuille précise et ensuite je lui demande de se


placer




sur

A1...

A ce moment, il me fait une erreur d'exection 1004


et ça




me plante.

Voici le code utilisé:

Sheets("VISA").Activate
Range("A1").Activate

Merci de vos lumières...
a++

Sabian


.



--

Cordialement,

Michel Gaboly
http://www.gaboly.com


.






--
Cordialement,

Michel Gaboly
http://www.gaboly.com


.