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 et affichage cellule [XL-2010]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    Divers
    Inscrit en
    Février 2017
    Messages
    295
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Divers

    Informations forums :
    Inscription : Février 2017
    Messages : 295
    Par défaut sélection et affichage cellule
    Bonjour,

    je me pose une question.

    est il possible qu'à partir d'un vlookup, qui aura comme résultat une lettre d'une colonne (ex : L), de selectioner la cellule K1 et que celle-ci s'affiche directement à gauche de l'écran.
    En résumé que les colonnes avant K soient cachées.

    Merci pour vos infos.

  2. #2
    Expert confirmé
    Homme Profil pro
    aucune
    Inscrit en
    Avril 2016
    Messages
    7 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 84
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Avril 2016
    Messages : 7 563
    Par défaut
    Bonjour
    Je pense que ta question est finalement comment afficher la cellule de son choix dans le coin supérieur gauche de la feuille de calcul.
    La réponse est par utilisation simple la méthode Goto (rubrique Application.Goto, méthode de ton aide VBA. Elle est assortie d'un exemple clair)

  3. #3
    Membre éclairé
    Homme Profil pro
    Divers
    Inscrit en
    Février 2017
    Messages
    295
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Divers

    Informations forums :
    Inscription : Février 2017
    Messages : 295
    Par défaut
    super

    Mais dans mon code ci-dessous, je voudrais que col2 soit en fait le résultat de col1 mais une colonne avant
    ex : col1=k col2=L

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Private Sub CBTNMove_Click()
     
        Dim col1 As String, col2 As String
     
        col1 = Application.WorksheetFunction.VLookup(CBTNMove.Caption, Sheets("setup").Range("A3:C14"), 2, 0)
        col2 =
     
     
     
    End Sub
    De plus, le range (A3:C14) porte un nom défini. je suppose que je peux mettre ce nom entre les parenthèses ???

  4. #4
    Membre éclairé
    Homme Profil pro
    Divers
    Inscrit en
    Février 2017
    Messages
    295
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Divers

    Informations forums :
    Inscription : Février 2017
    Messages : 295
    Par défaut
    voila j'ai un peu avancé.

    Il trouve col1 sans problème, ensuite je l'envoi sur col1 & 1 et je détermine le numéro de ligne et de colonne
    pas de problème


    mais ensuite il coince à la ligne 18 où je voudrais qu'il recule d'une colonne.

    pq ???


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    Private Sub CBTNMove_Click()
     
        Dim col1 As String
        Dim ligne As Integer
        Dim colonne As Integer
        Dim cell As Range
     
     
        col1 = Application.WorksheetFunction.VLookup(CBTNMove.Caption, Sheets("setup").Range("SetupImportMois"), 2, 0)
     
        Application.EnableEvents = False
        Sheets("MOIS-MAAND").Range(col1 & "1").Select
        With ActiveCell
            ligne = .row
            colonne = .Column
        End With
     
        cell = ActiveCell.Offset(-1, 0)
     
        Application.Goto Reference:=Worksheets("MOIS-MAAND").Range(cell), Scroll:=True
     
        Application.EnableEvents = True
     
    End Sub

  5. #5
    Expert éminent
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Par défaut

    Bonjour,

    ligne n°18, pourquoi recules-tu alors d'une ligne ?‼     Juste en lisant l'aide VBA d'Offset …

    _________________________________________________________________________________________________________
    Je suis Paris, Istanbul, Berlin, Nice, Bruxelles, Charlie, …

  6. #6
    Membre éclairé
    Homme Profil pro
    Divers
    Inscrit en
    Février 2017
    Messages
    295
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Divers

    Informations forums :
    Inscription : Février 2017
    Messages : 295
    Par défaut
    d'une ligne ???

  7. #7
    Expert éminent
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Par défaut

    Déjà dans ce code les lignes n°4, 5 et 14 à 17 n'ont aucune utilité !   Et ce ne sont pas les seules …


    Citation Envoyé par rossemma Voir le message
    est il possible qu'à partir d'un vlookup, qui aura comme résultat une lettre d'une colonne (ex : L), de sélectionner la cellule K1 et que celle-ci s'affiche directement à gauche de l'écran.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Private Sub CBTNMove_Click()
        Dim V
        V = Application.VLookup(CBTNMove.Caption, Range("setup!SetupImportMois"), 2, 0)
        If IsError(V) Then Exit Sub
        Application.EnableEvents = False
        Application.Goto Range("'MOIS-MAAND'!" & V & "1")(1, 0), True
        Application.EnableEvents = True
    End Sub
    _________________________________________________________________________________________________________

    Merci de cliquer sur pour chaque message ayant aidé puis sur pour clore cette discussion …

  8. #8
    Membre éclairé
    Homme Profil pro
    Divers
    Inscrit en
    Février 2017
    Messages
    295
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Divers

    Informations forums :
    Inscription : Février 2017
    Messages : 295
    Par défaut
    Merci

    mais quand j'arrive à la ligne 6, il me dit que l'opération échoué "la méthode range de l'objet global échoué"

  9. #9
    Expert éminent
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Par défaut


    Quelle est donc la valeur de V ?   B-A-BA du développeur, vérifier les variables !

  10. #10
    Membre éclairé
    Homme Profil pro
    Divers
    Inscrit en
    Février 2017
    Messages
    295
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Divers

    Informations forums :
    Inscription : Février 2017
    Messages : 295
    Par défaut
    V est correct, il me trouve la bonne lettre

    ex : pour le bouton janvier, V est égal à B
    D'après ton code il prend B & 1 soit B1 et recule d'une colonne

    exact ??

    j'ai revérifié et la resultat est correct, il trouvé la bonne lettre à chaque fois
    j'ai essayé avec plusieurs mois

    j'ai copy/paste ta modification et il me répond le même message.

  11. #11
    Membre éclairé
    Homme Profil pro
    Divers
    Inscrit en
    Février 2017
    Messages
    295
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Divers

    Informations forums :
    Inscription : Février 2017
    Messages : 295
    Par défaut
    Avec le code ci-dessous, cela fonctionne apparemment

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Private Sub CBTNMove_Click()
     
        Dim V
     
        V = Application.VLookup(CBTNMove.Caption, Range("setup!SetupImportMois"), 2, 0)
     
        If IsError(V) Then Exit Sub
        Application.EnableEvents = False
        Application.Goto Reference:=Worksheets("MOIS-MAAND").Range(V & "1").Offset(, -1), Scroll:=True
     
        Application.EnableEvents = True
     
    End Sub

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 2
    Dernier message: 13/02/2007, 17h40
  2. [VBA-Excel] - Empêcher sélection de certaines cellules
    Par Chewi dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 31/01/2007, 10h04
  3. sélection plage de cellule sur Msflexgrid
    Par Charly45 dans le forum VB 6 et antérieur
    Réponses: 5
    Dernier message: 22/12/2006, 15h35
  4. 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
  5. [JTable] Empêcher sélection de certaines cellules
    Par Oliveuh dans le forum Composants
    Réponses: 6
    Dernier message: 28/07/2004, 12h47

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