Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Atteindre la 1ère cellule vide dans un autre onglet

18 réponses
Avatar
C15
Bonjour à tous et à toutes,

Dans un onglet, en colonne F (6ième colonne) si je saisis "oui", je veux
sélectionner la 1ère cellule vide de la colonne A (la ligne 4 est la
ligne d'en-tête de mon tableau) du feuillet "commande".

Quand j'exécute la procédure suivante :

Private Sub Worksheet_Change(ByVal Target As Excel.Range)

If Target.Column = 6 And Target = "oui" Then
Sheets("Commande").Select
Range("A4").End(xlDown).Offset(1, 0).Select

End If

End Sub


on se retrouve bien sur le feuillet "Commande" mais cela bloque sur la
ligne
Range("A4").End(xlDown).Offset(1, 0).Select

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

Merci de me dire où mon raisonnement n'est pas bon.

A+

C15

10 réponses

1 2
Avatar
Youky \(BJ\)
Comme ceci, il faut spécifier la Feuille
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
If Target.Column = 6 And Target = "oui" Then
Sheets("Commande").Select
Sheets("Commande").Range("A4").End(xlDown).Offset(1, 0).Select
End If
End Sub
--
Youky (BJ)


"C15" a écrit dans le message de news:
499331dc$0$28669$
Bonjour à tous et à toutes,

Dans un onglet, en colonne F (6ième colonne) si je saisis "oui", je veux
sélectionner la 1ère cellule vide de la colonne A (la ligne 4 est la ligne
d'en-tête de mon tableau) du feuillet "commande".

Quand j'exécute la procédure suivante :

Private Sub Worksheet_Change(ByVal Target As Excel.Range)

If Target.Column = 6 And Target = "oui" Then
Sheets("Commande").Select
Range("A4").End(xlDown).Offset(1, 0).Select

End If

End Sub


on se retrouve bien sur le feuillet "Commande" mais cela bloque sur la
ligne
Range("A4").End(xlDown).Offset(1, 0).Select

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

Merci de me dire où mon raisonnement n'est pas bon.

A+

C15


Avatar
C15
Bonsoir Youki,

Désolé mais cela ne marche pas mieux ;((

Merci de ton aide.

A+

C15


Youky (BJ) a écrit :
Comme ceci, il faut spécifier la Feuille
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
If Target.Column = 6 And Target = "oui" Then
Sheets("Commande").Select
Sheets("Commande").Range("A4").End(xlDown).Offset(1, 0).Select
End If
End Sub


Avatar
Merguez07
Essaye comme ça

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Column = 6 And Target = "oui" Then
Sheets("Commande").Select
Worksheets("Commande").Range("A4").End(xlDown).Offset(1, 0).Select

End If
End Sub

Xavier



C15 a écrit :
Bonsoir Youki,

Désolé mais cela ne marche pas mieux ;((

Merci de ton aide.

A+

C15


Youky (BJ) a écrit :
Comme ceci, il faut spécifier la Feuille
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
If Target.Column = 6 And Target = "oui" Then
Sheets("Commande").Select
Sheets("Commande").Range("A4").End(xlDown).Offset(1, 0).Select
End If
End Sub




Avatar
garnote
Salut,

Change
Range("A4").End(xlDown).Offset(1, 0).Select
pour
ActiveSheet.Range("A4").End(xlDown).Offset(1, 0).Select

Serge





"C15" a écrit dans le message de news:
499331dc$0$28669$
Bonjour à tous et à toutes,

Dans un onglet, en colonne F (6ième colonne) si je saisis "oui", je veux sélectionner la 1ère cellule vide de la colonne A
(la ligne 4 est la ligne d'en-tête de mon tableau) du feuillet "commande".

Quand j'exécute la procédure suivante :

Private Sub Worksheet_Change(ByVal Target As Excel.Range)

If Target.Column = 6 And Target = "oui" Then
Sheets("Commande").Select
Range("A4").End(xlDown).Offset(1, 0).Select

End If

End Sub


on se retrouve bien sur le feuillet "Commande" mais cela bloque sur la ligne
Range("A4").End(xlDown).Offset(1, 0).Select

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

Merci de me dire où mon raisonnement n'est pas bon.

A+

C15


Avatar
garnote
Salut C15,

Au Québec, la macro de Youky ne renvoie pas de message d'erreur !
La macro t'envoie un message d'erreur ou bien tu n'obtiens pas le résultat désiré ?

Serge
Avatar
C15
Bonjour Mergue07,

Désolé mais rien ne se passe avec ta proposition.
Par contre est-ce bien SelectionChange qu'il faut choisir ?

Merci de ton aide

A+

C15

Merguez07 a écrit :
Essaye comme ça

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Column = 6 And Target = "oui" Then
Sheets("Commande").Select
Worksheets("Commande").Range("A4").End(xlDown).Offset(1, 0).Select

End If
End Sub

Xavier



C15 a écrit :
Bonsoir Youki,

Désolé mais cela ne marche pas mieux ;((

Merci de ton aide.

A+

C15


Youky (BJ) a écrit :
Comme ceci, il faut spécifier la Feuille
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
If Target.Column = 6 And Target = "oui" Then
Sheets("Commande").Select
Sheets("Commande").Range("A4").End(xlDown).Offset(1, 0).Select
End If
End Sub






Avatar
C15
Bonjour Garnote,

Tu n'as hélas pas plus de chance que Merguez07, cela ne marche pas, la
cellule n'est pas sélectionnée et j'ai le message d'erreur "erreur
définie par l'application ou par l'objet".

Merci de ton aide

A+

C15

garnote a écrit :
Salut,

Change
Range("A4").End(xlDown).Offset(1, 0).Select
pour
ActiveSheet.Range("A4").End(xlDown).Offset(1, 0).Select

Serge





"C15" a écrit dans le message de news:
499331dc$0$28669$
Bonjour à tous et à toutes,

Dans un onglet, en colonne F (6ième colonne) si je saisis "oui", je veux sélectionner la 1ère cellule vide de la colonne A
(la ligne 4 est la ligne d'en-tête de mon tableau) du feuillet "commande".

Quand j'exécute la procédure suivante :

Private Sub Worksheet_Change(ByVal Target As Excel.Range)

If Target.Column = 6 And Target = "oui" Then
Sheets("Commande").Select
Range("A4").End(xlDown).Offset(1, 0).Select

End If

End Sub


on se retrouve bien sur le feuillet "Commande" mais cela bloque sur la ligne
Range("A4").End(xlDown).Offset(1, 0).Select

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

Merci de me dire où mon raisonnement n'est pas bon.

A+

C15






Avatar
C15
Bonjour Garnote,

En France la macro de Youky me renvoyait "la méthode Select de la classe

Range a échoué" et c'est bien le feuillet Commande qui est maintenant
actif, mais je ne suis toujours pas sur la cellule espérée.

Merci de ton aide.

a+

C15



garnote a écrit :
Salut C15,

Au Québec, la macro de Youky ne renvoie pas de message d'erreur !
La macro t'envoie un message d'erreur ou bien tu n'obtiens pas le résultat désiré ?

Serge




Avatar
isabelle
bonjour C15,

Private Sub Worksheet_Change(ByVal Target As Excel.Range)
If Target.Column = 6 And Target = "oui" Then
Set plg = Sheets("Commande").Range("A" &
Sheets("Commande").Range("A65536").End(xlUp).Row + 1)
Application.Goto plg
End If
End Sub

isabelle

C15 a écrit :
Bonjour Garnote,

Tu n'as hélas pas plus de chance que Merguez07, cela ne marche pas, la
cellule n'est pas sélectionnée et j'ai le message d'erreur "erreur
définie par l'application ou par l'objet".

Merci de ton aide

A+

C15

garnote a écrit :
Salut,

Change
Range("A4").End(xlDown).Offset(1, 0).Select
pour
ActiveSheet.Range("A4").End(xlDown).Offset(1, 0).Select

Serge





"C15" a écrit dans le message
de news: 499331dc$0$28669$
Bonjour à tous et à toutes,

Dans un onglet, en colonne F (6ième colonne) si je saisis "oui", je
veux sélectionner la 1ère cellule vide de la colonne A (la ligne 4
est la ligne d'en-tête de mon tableau) du feuillet "commande".

Quand j'exécute la procédure suivante :

Private Sub Worksheet_Change(ByVal Target As Excel.Range)

If Target.Column = 6 And Target = "oui" Then
Sheets("Commande").Select
Range("A4").End(xlDown).Offset(1, 0).Select

End If

End Sub


on se retrouve bien sur le feuillet "Commande" mais cela bloque sur
la ligne
Range("A4").End(xlDown).Offset(1, 0).Select

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

Merci de me dire où mon raisonnement n'est pas bon.

A+

C15








Avatar
Merguez07
effectivement selectionchange n'est sans doute pas le plus adapté. Par
contre le fait que ça ne marche pas alors que chez moi ça marche
m'intrige. pourrais tu nous envoyer un ci-joint ?

Est ce que la solution d'isabelle fonctionne ?

Xavier




C15 a écrit :
Bonjour Mergue07,

Désolé mais rien ne se passe avec ta proposition.
Par contre est-ce bien SelectionChange qu'il faut choisir ?

Merci de ton aide

A+

C15

Merguez07 a écrit :
Essaye comme ça

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Column = 6 And Target = "oui" Then
Sheets("Commande").Select
Worksheets("Commande").Range("A4").End(xlDown).Offset(1, 0).Select

End If
End Sub

Xavier



C15 a écrit :
Bonsoir Youki,

Désolé mais cela ne marche pas mieux ;((

Merci de ton aide.

A+

C15


Youky (BJ) a écrit :
Comme ceci, il faut spécifier la Feuille
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
If Target.Column = 6 And Target = "oui" Then
Sheets("Commande").Select
Sheets("Commande").Range("A4").End(xlDown).Offset(1, 0).Select
End If
End Sub








1 2