Se positionner sur une cellule en particulier (sous condition)

  • Initiateur de la discussion Initiateur de la discussion virginie00035
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

V

virginie00035

Guest
Bonjour,
Je suis nouvellement inscrite... et pas très chevronnée.
Bref...
Je dépouille une enquête. Mon fichier comprend 200 colonnes (une colonne par questionnaire) qui s'étalent sur 200 lignes.
La saisie (verticale) est parfois fastidieuse et j'aimerais pouvoir la faciliter.
Ex (j'en ai plusieurs comme ça) : en cellule B76 j'ai le choix entre deux réponses 1 ou 2. Si c'est 2, je continue ma saisie en B77, mais si c'est 1, je voudrais qu'à ma validation, je puisse atterrir directement sur la cellule B85.
Evidemment, je voudrais que cette bidouille puisse se répercuter sur l'ensemble de mes colonnes (de la colonne B à la colonne GT).
Quelqu'un peut-il m'aider ?
Avec tous mes remerciements,
Virginie
 
Re : Se positionner sur une cellule en particulier (sous condition)

Bonjour,

recopiez cette macro dans votre feuille excel :

1. positionner vous sur l'onglet de la feuille (sur le nom)
2. appuyer sur le bouton droit
3. choisir "visualiser le code" ==> une fenêtre microsoft visual basic s'ouvre
4. copier /coller la macro ci-dessous
5. fermer la fenêtre visual basic

et voila

'****************** la macro
Private Sub Worksheet_Change(ByVal CelluleEnCours As Range)

If CelluleEnCours.Row <> 76 Then Exit Sub '***** sortir si ligne # 76
Application.EnableEvents = False '**** bloquer les événements le temps du traitemen

If CelluleEnCours.Value = 1 Then
CelluleEnCours.Offset(9, 0).Select ' selection de la cellule 9 lignes plus loin
End If

Application.EnableEvents = True ' réactiver les événements

End Sub


GIBI
 
Dernière édition:
Re : Se positionner sur une cellule en particulier (sous condition)

Ca marche ! C'est génial et très gentil. J'imagine que pour mettre en place cette manip sur d'autres items, il me suffit de recopier la procédure et de modifier le code, c'est ça ?
 
Re : Se positionner sur une cellule en particulier (sous condition)

Ca marche ! C'est génial et très gentil. J'imagine que pour mettre en place cette manip sur d'autres items, il me suffit de recopier la procédure et de modifier le code, c'est ça ?


Non ce n'est pas si simple, mais aujourd'hui c'est Noël donc cadeau


Il faut remplacer la macro précédente par celle-ci et dupliquer les deux lignes (Case nn et Nlig=)

Private Sub Worksheet_Change(ByVal CelluleEnCours As Range)

Application.EnableEvents = False '**** bloquer les événements le temps du traitemen

lig = CelluleEnCours.Row
col = CelluleEnCours.Column

Select Case CelluleEnCours.Row
Case 76 ' numero ligne a tester
Nlig = 85 ' numéro ligne d'arrivée
Case 85 ' numero ligne a tester
Nlig = 94 ' numéro ligne d'arrivée
' =======> dupliquer les lignes Case nn et NLig =
Case Else
Exit Sub

End Select

If CelluleEnCours.Value = 1 Then
Cells(Nlig, col).Select ' selection de la cellule
' Range(Cells(lig + 1, col), Cells(Nlig - 1 + 8, col)).ClearContents ' pour effacer les ligne entre les deux
End If

Application.EnableEvents = True ' réactiver les événements

End Sub

Normalemnt cela doit fonctionner

GIBI

PS

en enlevant l'apostrope devant la ligne' Range(Cells(lig + 1, col), Cells(Nlig - 1 + 8, col)).ClearContents on peut effacer les lignes

Curieux mais vos cases à cocher tapent dans la colonne à coté si c'est le cas il ne faut remettre à zéro la colonne d'à côté soitRange(Cells(lig + 1, col+1), Cells(Nlig - 1 + 8, col+1)).ClearContents
 
Dernière édition:
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.
Retour