IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Sélection d'une cellule dans code vba


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2013
    Messages
    116
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2013
    Messages : 116
    Par défaut Sélection d'une cellule dans code vba
    Bonjour à tous,

    J'ai déjà ouvert cette discussion mais je ne sais pourquoi, je ne la retrouve plus.

    Dans un fichier, j'ai une cellule B12 qui renvoie un texte rechercher dans une plage E6:E46.
    Si mon code vba ne trouve pas de correspondance, je voudrais que la cellule B12 soit à nouveau sélectionnée. Je ne trouve pas ce qu'il me faut rajouter.
    Voici mon code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Sub RJNomEquipe1()
    Dim i As Integer
    For i = 6 To 46 Step 1
        If Range("E" & i).Value = Range("B12").Value Then Range("E" & i).Select Else
        If Range("B12").Value = "" Then Range("D46").End(xlUp).Offset(1, 0).Select Else
        Next
    End Sub
    Merci de bien vouloir m'aider.
    Boulser

  2. #2
    Expert confirmé
    Homme Profil pro
    Electrotechnicien
    Inscrit en
    Juillet 2016
    Messages
    3 241
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Electrotechnicien

    Informations forums :
    Inscription : Juillet 2016
    Messages : 3 241
    Par défaut
    Bonjour,

    Je ne vois pas trop le rapport entre ce que vous demandez et le code fourni. d'une part:
    je voudrais que la cellule B12 soit à nouveau sélectionnée

    et d'autre part:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If Range("B12").Value = "" Then Range("D46").End(xlUp).Offset(1, 0).Select Else
    en attendant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Sub RJNomEquipe1()
        Dim i As Integer
        If Range("B12").Value = "" Then
            Range("B12").Select
            Exit Sub
        Else
            With ActiveSheet.Range("E6:E46")
                Set x = .Find(Range("B12").Value, lookat:=xlWhole)
                If Not x Is Nothing Then Cells(x.Row, "E").Select
            End With
        End If
    End Sub
    Cdlt

  3. #3
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2013
    Messages
    116
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2013
    Messages : 116
    Par défaut
    Merci pour ta réponse.
    Si la cellule B12 est vide, la première cellule vide de la plage est sélectionnée.
    Si la cellule B12 contient un texte, et qu'il le trouve dans la plage, la cellule contenant ce texte est donc sélectionnée.
    Si le code ne trouve pas le texte mentionné en B12 dans la plage, la cellule suivante non protégée est donc sélectionnée ce qui se trouve loin dans ma feuille et m'oblige à revenir en arrière.
    Je voulais donc que ce soit la cellule B12 qui soit sélectionnée.
    Je vais essayer par ton code
    Merci encore

  4. #4
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2013
    Messages
    116
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2013
    Messages : 116
    Par défaut
    Bonjour Arturo83

    Merci pour ton code cela fonctionne bien, mais n'arrange pas tout à fait mon problème.

    J'ai comme code dans la feuille:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Sub Worksheet_Change(ByVal Target As Range)
        If Not Application.Intersect(Target, Range("B12")) Is Nothing Then
            Call RJNomEquipe1
        End If
    End Sub
    Cela déclenche la macro sur la commande de ma touche Entrée.
    Le problème est que si je n'ai pas changé de donnée dans ma cellule B12, la commande de la touche Entrée ne déclenche pas la macro mais passe à la cellule non protégée suivante qui est B56 dans mon cas. Je voudrais que la macro soit quand même lancée ou relancée.
    En fait, je n'avais pas compris tout de suite mon problème.
    Merci

  5. #5
    Expert confirmé
    Homme Profil pro
    Electrotechnicien
    Inscrit en
    Juillet 2016
    Messages
    3 241
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Electrotechnicien

    Informations forums :
    Inscription : Juillet 2016
    Messages : 3 241
    Par défaut
    Cela déclenche la macro sur la commande de ma touche Entrée, Oui, mais aussi lors de la saisie d'une valeur dans la cellule B12


    Ajoutez celle-ci, elle surveillera en plus le changement de cellule
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Private Sub Worksheet_SelectionChange(ByVal Target As Range)
        If Not Application.Intersect(Target, Range("B12")) Is Nothing Then
            Call RJNomEquipe1
        End If
    End Sub

  6. #6
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2013
    Messages
    116
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2013
    Messages : 116
    Par défaut
    Malheureusement, cela ne fonctionne pas.
    Lorsque la cellule B12 est vide, je n'arrive plus à la sélectionner.

Discussions similaires

  1. [XL-2013] Sélection d'une cellule dans code vba
    Par boulser dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 20/12/2021, 17h51
  2. [XL-2016] Valeur d'une cellule dans code vba
    Par tcheylan dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 02/08/2018, 09h18
  3. Afficher dans une cellule le code VBA d'un bouton
    Par greenzephyr dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 08/11/2010, 10h01
  4. Réponses: 5
    Dernier message: 21/03/2007, 11h26
  5. Slection d'une cellule dans une Flexgrid
    Par ecarbill dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 29/08/2006, 13h44

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo