Bonjour,
Dans un usf démarré en feuil1 mais dont les données sont en feuil2.
Et alors que toutes les instructions (For ..., if... then .. else ..).se déroulent normalement avec
les données de la feuil2, l'instruction suivante se fait avec les données de la Feuil1.
MsgBox Right(Cells(J, 1), 2)
Alors que bien évidement c'est la cellule en feuil2 dont je souhaite avoir les 2 derniers caractères !
Si je veux lui indiquer plus précisément la feuille Í utiliser avec
MsgBox Worksheets("feuil2").Right(Cells(J, 1), 2)
J'ai une erreur 438 'Propriété ou méthode non gérée par cet objet'
Petite précision, toutes les instructions sont dans un bloc encadré par With feuil2 ... End with
Alors, j'ai bien fait un essai en mettant Sheets("feuil2").Activate et lÍ ma msgbox travaille bien
avec la feuil2 mais c'est pas ce qui est souhaité. Comment puis-je m'en sortir ?
Au passage, je remercie grandement MichD pour l'éclairage sur le fait que les combobox travaillent
avec du texte et pas avec des nombres.
Bonjour,
Dans un usf démarré en feuil1 mais dont les données sont en feuil2.
Et alors que toutes les instructions (For ..., if... then .. else ..).se déroulent normalement avec
les données de la feuil2, l'instruction suivante se fait avec les données de la Feuil1.
MsgBox Right(Cells(J, 1), 2)
Alors que bien évidement c'est la cellule en feuil2 dont je souhaite avoir les 2 derniers caractères !
Si je veux lui indiquer plus précisément la feuille Í utiliser avec
MsgBox Worksheets("feuil2").Right(Cells(J, 1), 2)
J'ai une erreur 438 'Propriété ou méthode non gérée par cet objet'
Petite précision, toutes les instructions sont dans un bloc encadré par With feuil2 ... End with
Alors, j'ai bien fait un essai en mettant Sheets("feuil2").Activate et lÍ ma msgbox travaille bien
avec la feuil2 mais c'est pas ce qui est souhaité. Comment puis-je m'en sortir ?
Au passage, je remercie grandement MichD pour l'éclairage sur le fait que les combobox travaillent
avec du texte et pas avec des nombres.
Bonjour,
Dans un usf démarré en feuil1 mais dont les données sont en feuil2.
Et alors que toutes les instructions (For ..., if... then .. else ..).se déroulent normalement avec
les données de la feuil2, l'instruction suivante se fait avec les données de la Feuil1.
MsgBox Right(Cells(J, 1), 2)
Alors que bien évidement c'est la cellule en feuil2 dont je souhaite avoir les 2 derniers caractères !
Si je veux lui indiquer plus précisément la feuille Í utiliser avec
MsgBox Worksheets("feuil2").Right(Cells(J, 1), 2)
J'ai une erreur 438 'Propriété ou méthode non gérée par cet objet'
Petite précision, toutes les instructions sont dans un bloc encadré par With feuil2 ... End with
Alors, j'ai bien fait un essai en mettant Sheets("feuil2").Activate et lÍ ma msgbox travaille bien
avec la feuil2 mais c'est pas ce qui est souhaité. Comment puis-je m'en sortir ?
Au passage, je remercie grandement MichD pour l'éclairage sur le fait que les combobox travaillent
avec du texte et pas avec des nombres.
Bonjour,
Le 09/01/2021 Í 10:43, Daniel a écrit :Bonjour,
Dans un usf démarré en feuil1 mais dont les données sont en feuil2.
Et alors que toutes les instructions (For ..., if... then .. else
..).se déroulent normalement avec les données de la feuil2,
l'instruction suivante se fait avec les données de la Feuil1.
MsgBox Right(Cells(J, 1), 2)
Alors que bien évidement c'est la cellule en feuil2 dont je souhaite
avoir les 2 derniers caractères !
Si je veux lui indiquer plus précisément la feuille Í utiliser avec
MsgBox Worksheets("feuil2").Right(Cells(J, 1), 2)
J'ai une erreur 438 'Propriété ou méthode non gérée par cet objet'
Petite précision, toutes les instructions sont dans un bloc encadré
par With feuil2 ... End with
Alors, j'ai bien fait un essai en mettant Sheets("feuil2").Activate et
lÍ ma msgbox travaille bien avec la feuil2 mais c'est pas ce qui est
souhaité. Comment puis-je m'en sortir ?
Au passage, je remercie grandement MichD pour l'éclairage sur le fait
que les combobox travaillent avec du texte et pas avec des nombres.
Alors je ne suis pas MichD, mais si c'est bien dans un bloc With feuil2
... End With
Alors ceci devrait faire l'affaire :
MsgBox Right(.Cell(J, 1).Value, 2)
Bonjour,
Le 09/01/2021 Í 10:43, Daniel a écrit :
Bonjour,
Dans un usf démarré en feuil1 mais dont les données sont en feuil2.
Et alors que toutes les instructions (For ..., if... then .. else
..).se déroulent normalement avec les données de la feuil2,
l'instruction suivante se fait avec les données de la Feuil1.
MsgBox Right(Cells(J, 1), 2)
Alors que bien évidement c'est la cellule en feuil2 dont je souhaite
avoir les 2 derniers caractères !
Si je veux lui indiquer plus précisément la feuille Í utiliser avec
MsgBox Worksheets("feuil2").Right(Cells(J, 1), 2)
J'ai une erreur 438 'Propriété ou méthode non gérée par cet objet'
Petite précision, toutes les instructions sont dans un bloc encadré
par With feuil2 ... End with
Alors, j'ai bien fait un essai en mettant Sheets("feuil2").Activate et
lÍ ma msgbox travaille bien avec la feuil2 mais c'est pas ce qui est
souhaité. Comment puis-je m'en sortir ?
Au passage, je remercie grandement MichD pour l'éclairage sur le fait
que les combobox travaillent avec du texte et pas avec des nombres.
Alors je ne suis pas MichD, mais si c'est bien dans un bloc With feuil2
... End With
Alors ceci devrait faire l'affaire :
MsgBox Right(.Cell(J, 1).Value, 2)
Bonjour,
Le 09/01/2021 Í 10:43, Daniel a écrit :Bonjour,
Dans un usf démarré en feuil1 mais dont les données sont en feuil2.
Et alors que toutes les instructions (For ..., if... then .. else
..).se déroulent normalement avec les données de la feuil2,
l'instruction suivante se fait avec les données de la Feuil1.
MsgBox Right(Cells(J, 1), 2)
Alors que bien évidement c'est la cellule en feuil2 dont je souhaite
avoir les 2 derniers caractères !
Si je veux lui indiquer plus précisément la feuille Í utiliser avec
MsgBox Worksheets("feuil2").Right(Cells(J, 1), 2)
J'ai une erreur 438 'Propriété ou méthode non gérée par cet objet'
Petite précision, toutes les instructions sont dans un bloc encadré
par With feuil2 ... End with
Alors, j'ai bien fait un essai en mettant Sheets("feuil2").Activate et
lÍ ma msgbox travaille bien avec la feuil2 mais c'est pas ce qui est
souhaité. Comment puis-je m'en sortir ?
Au passage, je remercie grandement MichD pour l'éclairage sur le fait
que les combobox travaillent avec du texte et pas avec des nombres.
Alors je ne suis pas MichD, mais si c'est bien dans un bloc With feuil2
... End With
Alors ceci devrait faire l'affaire :
MsgBox Right(.Cell(J, 1).Value, 2)
Bonjour,
Le 09/01/2021 Í 10:43, Daniel a écrit :Bonjour,
Dans un usf démarré en feuil1 mais dont les données sont en feuil2.
Et alors que toutes les instructions (For ..., if... then .. else
..).se déroulent normalement avec les données de la feuil2,
l'instruction suivante se fait avec les données de la Feuil1.
MsgBox Right(Cells(J, 1), 2)
Alors que bien évidement c'est la cellule en feuil2 dont je souhaite
avoir les 2 derniers caractères !
Si je veux lui indiquer plus précisément la feuille Í utiliser avec
MsgBox Worksheets("feuil2").Right(Cells(J, 1), 2)
J'ai une erreur 438 'Propriété ou méthode non gérée par cet objet'
Petite précision, toutes les instructions sont dans un bloc encadré
par With feuil2 ... End with
Alors, j'ai bien fait un essai en mettant Sheets("feuil2").Activate et
lÍ ma msgbox travaille bien avec la feuil2 mais c'est pas ce qui est
souhaité. Comment puis-je m'en sortir ?
Au passage, je remercie grandement MichD pour l'éclairage sur le fait
que les combobox travaillent avec du texte et pas avec des nombres.
Alors je ne suis pas MichD, mais si c'est bien dans un bloc With feuil2
... End With
Alors ceci devrait faire l'affaire :
MsgBox Right(.Cell(J, 1).Value, 2)
Bonjour,
Le 09/01/2021 Í 10:43, Daniel a écrit :
Bonjour,
Dans un usf démarré en feuil1 mais dont les données sont en feuil2.
Et alors que toutes les instructions (For ..., if... then .. else
..).se déroulent normalement avec les données de la feuil2,
l'instruction suivante se fait avec les données de la Feuil1.
MsgBox Right(Cells(J, 1), 2)
Alors que bien évidement c'est la cellule en feuil2 dont je souhaite
avoir les 2 derniers caractères !
Si je veux lui indiquer plus précisément la feuille Í utiliser avec
MsgBox Worksheets("feuil2").Right(Cells(J, 1), 2)
J'ai une erreur 438 'Propriété ou méthode non gérée par cet objet'
Petite précision, toutes les instructions sont dans un bloc encadré
par With feuil2 ... End with
Alors, j'ai bien fait un essai en mettant Sheets("feuil2").Activate et
lÍ ma msgbox travaille bien avec la feuil2 mais c'est pas ce qui est
souhaité. Comment puis-je m'en sortir ?
Au passage, je remercie grandement MichD pour l'éclairage sur le fait
que les combobox travaillent avec du texte et pas avec des nombres.
Alors je ne suis pas MichD, mais si c'est bien dans un bloc With feuil2
... End With
Alors ceci devrait faire l'affaire :
MsgBox Right(.Cell(J, 1).Value, 2)
Bonjour,
Le 09/01/2021 Í 10:43, Daniel a écrit :Bonjour,
Dans un usf démarré en feuil1 mais dont les données sont en feuil2.
Et alors que toutes les instructions (For ..., if... then .. else
..).se déroulent normalement avec les données de la feuil2,
l'instruction suivante se fait avec les données de la Feuil1.
MsgBox Right(Cells(J, 1), 2)
Alors que bien évidement c'est la cellule en feuil2 dont je souhaite
avoir les 2 derniers caractères !
Si je veux lui indiquer plus précisément la feuille Í utiliser avec
MsgBox Worksheets("feuil2").Right(Cells(J, 1), 2)
J'ai une erreur 438 'Propriété ou méthode non gérée par cet objet'
Petite précision, toutes les instructions sont dans un bloc encadré
par With feuil2 ... End with
Alors, j'ai bien fait un essai en mettant Sheets("feuil2").Activate et
lÍ ma msgbox travaille bien avec la feuil2 mais c'est pas ce qui est
souhaité. Comment puis-je m'en sortir ?
Au passage, je remercie grandement MichD pour l'éclairage sur le fait
que les combobox travaillent avec du texte et pas avec des nombres.
Alors je ne suis pas MichD, mais si c'est bien dans un bloc With feuil2
... End With
Alors ceci devrait faire l'affaire :
MsgBox Right(.Cell(J, 1).Value, 2)
Le 09/01/21 Í 06:05, Michel__D a écrit :Bonjour,
Le 09/01/2021 Í 10:43, Daniel a écrit :Bonjour,
Dans un usf démarré en feuil1 mais dont les données sont en feuil2.
Et alors que toutes les instructions (For ..., if... then .. else
..).se déroulent normalement avec les données de la feuil2,
l'instruction suivante se fait avec les données de la Feuil1.
MsgBox Right(Cells(J, 1), 2)
Alors que bien évidement c'est la cellule en feuil2 dont je souhaite
avoir les 2 derniers caractères !
Si je veux lui indiquer plus précisément la feuille Í utiliser avec
MsgBox Worksheets("feuil2").Right(Cells(J, 1), 2)
J'ai une erreur 438 'Propriété ou méthode non gérée par cet objet'
Petite précision, toutes les instructions sont dans un bloc encadré
par With feuil2 ... End with
Alors, j'ai bien fait un essai en mettant Sheets("feuil2").Activate
et lÍ ma msgbox travaille bien avec la feuil2 mais c'est pas ce qui
est souhaité. Comment puis-je m'en sortir ?
Au passage, je remercie grandement MichD pour l'éclairage sur le fait
que les combobox travaillent avec du texte et pas avec des nombres.
Alors je ne suis pas MichD, mais si c'est bien dans un bloc With
feuil2 ... End With
Alors ceci devrait faire l'affaire :
MsgBox Right(.Cell(J, 1).Value, 2)
Bonjour,
Michel_D a raison. Si tu n'es pas très familier avec le VBA, ce que
propose Michel_D prend la forme comme ceci :
With Feuil2
   MsgBox Right(.Cell(J, 1).Value, 2)
End With
Attention : Feuil2 n'est pas le nom de l'onglet de la feuille o͹ se
situe la cellule, mais la propriété "NAME" qui est affichée dans le
projetVBA du classeur sous la rubrique "Microsoft Excel Objects" o͹ l'on
retrouve la liste des feuilles de calcul du classeur. Elles ont cette
présentation : Feuil2(toto)
toto est le nom de l'onglet de la feuille de calcul
Feuil2 est le nom de la propriété Name de l'objet
Comme code, tu aurais utilisé ceci avec le nom de l'onglet de la feuille
et tu aurais le même résultat.
With Worksheets("toto")
   MsgBox Right(.Cell(J, 1).Value, 2)
End With
Ce que propose Michel_D est la meilleure approche.
En utilisant la propriété "Name" de l'objet au lieu du nom de l'onglet
de la feuille, tu as les avantages suivants :
A ) Tu peux modifier le nom des onglets Í volonté et tu n'as pas besoin
de modifier le code.
B ) À l'exécution, le code s'exécute plus rapidement...mais avec la
rapidité des processeurs d'aujourd'hui, on n'en est pas Í quelques
nanosecondes de plus ou moins.
C ) Le plus important, en utilisant ceci : With feuil2 , dès que tu
tapes Í la ligne en dessous un "."(point), tu obtiens une liste
déroulante des propriétés et méthodes de l'objet. Par conséquent, nul
besoin de les mémoriser. Cela réduit aussi les fautes d'orthographe.
MichD
Le 09/01/21 Í 06:05, Michel__D a écrit :
Bonjour,
Le 09/01/2021 Í 10:43, Daniel a écrit :
Bonjour,
Dans un usf démarré en feuil1 mais dont les données sont en feuil2.
Et alors que toutes les instructions (For ..., if... then .. else
..).se déroulent normalement avec les données de la feuil2,
l'instruction suivante se fait avec les données de la Feuil1.
MsgBox Right(Cells(J, 1), 2)
Alors que bien évidement c'est la cellule en feuil2 dont je souhaite
avoir les 2 derniers caractères !
Si je veux lui indiquer plus précisément la feuille Í utiliser avec
MsgBox Worksheets("feuil2").Right(Cells(J, 1), 2)
J'ai une erreur 438 'Propriété ou méthode non gérée par cet objet'
Petite précision, toutes les instructions sont dans un bloc encadré
par With feuil2 ... End with
Alors, j'ai bien fait un essai en mettant Sheets("feuil2").Activate
et lÍ ma msgbox travaille bien avec la feuil2 mais c'est pas ce qui
est souhaité. Comment puis-je m'en sortir ?
Au passage, je remercie grandement MichD pour l'éclairage sur le fait
que les combobox travaillent avec du texte et pas avec des nombres.
Alors je ne suis pas MichD, mais si c'est bien dans un bloc With
feuil2 ... End With
Alors ceci devrait faire l'affaire :
MsgBox Right(.Cell(J, 1).Value, 2)
Bonjour,
Michel_D a raison. Si tu n'es pas très familier avec le VBA, ce que
propose Michel_D prend la forme comme ceci :
With Feuil2
   MsgBox Right(.Cell(J, 1).Value, 2)
End With
Attention : Feuil2 n'est pas le nom de l'onglet de la feuille o͹ se
situe la cellule, mais la propriété "NAME" qui est affichée dans le
projetVBA du classeur sous la rubrique "Microsoft Excel Objects" o͹ l'on
retrouve la liste des feuilles de calcul du classeur. Elles ont cette
présentation : Feuil2(toto)
toto est le nom de l'onglet de la feuille de calcul
Feuil2 est le nom de la propriété Name de l'objet
Comme code, tu aurais utilisé ceci avec le nom de l'onglet de la feuille
et tu aurais le même résultat.
With Worksheets("toto")
   MsgBox Right(.Cell(J, 1).Value, 2)
End With
Ce que propose Michel_D est la meilleure approche.
En utilisant la propriété "Name" de l'objet au lieu du nom de l'onglet
de la feuille, tu as les avantages suivants :
A ) Tu peux modifier le nom des onglets Í volonté et tu n'as pas besoin
de modifier le code.
B ) À l'exécution, le code s'exécute plus rapidement...mais avec la
rapidité des processeurs d'aujourd'hui, on n'en est pas Í quelques
nanosecondes de plus ou moins.
C ) Le plus important, en utilisant ceci : With feuil2 , dès que tu
tapes Í la ligne en dessous un "."(point), tu obtiens une liste
déroulante des propriétés et méthodes de l'objet. Par conséquent, nul
besoin de les mémoriser. Cela réduit aussi les fautes d'orthographe.
MichD
Le 09/01/21 Í 06:05, Michel__D a écrit :Bonjour,
Le 09/01/2021 Í 10:43, Daniel a écrit :Bonjour,
Dans un usf démarré en feuil1 mais dont les données sont en feuil2.
Et alors que toutes les instructions (For ..., if... then .. else
..).se déroulent normalement avec les données de la feuil2,
l'instruction suivante se fait avec les données de la Feuil1.
MsgBox Right(Cells(J, 1), 2)
Alors que bien évidement c'est la cellule en feuil2 dont je souhaite
avoir les 2 derniers caractères !
Si je veux lui indiquer plus précisément la feuille Í utiliser avec
MsgBox Worksheets("feuil2").Right(Cells(J, 1), 2)
J'ai une erreur 438 'Propriété ou méthode non gérée par cet objet'
Petite précision, toutes les instructions sont dans un bloc encadré
par With feuil2 ... End with
Alors, j'ai bien fait un essai en mettant Sheets("feuil2").Activate
et lÍ ma msgbox travaille bien avec la feuil2 mais c'est pas ce qui
est souhaité. Comment puis-je m'en sortir ?
Au passage, je remercie grandement MichD pour l'éclairage sur le fait
que les combobox travaillent avec du texte et pas avec des nombres.
Alors je ne suis pas MichD, mais si c'est bien dans un bloc With
feuil2 ... End With
Alors ceci devrait faire l'affaire :
MsgBox Right(.Cell(J, 1).Value, 2)
Bonjour,
Michel_D a raison. Si tu n'es pas très familier avec le VBA, ce que
propose Michel_D prend la forme comme ceci :
With Feuil2
   MsgBox Right(.Cell(J, 1).Value, 2)
End With
Attention : Feuil2 n'est pas le nom de l'onglet de la feuille o͹ se
situe la cellule, mais la propriété "NAME" qui est affichée dans le
projetVBA du classeur sous la rubrique "Microsoft Excel Objects" o͹ l'on
retrouve la liste des feuilles de calcul du classeur. Elles ont cette
présentation : Feuil2(toto)
toto est le nom de l'onglet de la feuille de calcul
Feuil2 est le nom de la propriété Name de l'objet
Comme code, tu aurais utilisé ceci avec le nom de l'onglet de la feuille
et tu aurais le même résultat.
With Worksheets("toto")
   MsgBox Right(.Cell(J, 1).Value, 2)
End With
Ce que propose Michel_D est la meilleure approche.
En utilisant la propriété "Name" de l'objet au lieu du nom de l'onglet
de la feuille, tu as les avantages suivants :
A ) Tu peux modifier le nom des onglets Í volonté et tu n'as pas besoin
de modifier le code.
B ) À l'exécution, le code s'exécute plus rapidement...mais avec la
rapidité des processeurs d'aujourd'hui, on n'en est pas Í quelques
nanosecondes de plus ou moins.
C ) Le plus important, en utilisant ceci : With feuil2 , dès que tu
tapes Í la ligne en dessous un "."(point), tu obtiens une liste
déroulante des propriétés et méthodes de l'objet. Par conséquent, nul
besoin de les mémoriser. Cela réduit aussi les fautes d'orthographe.
MichD