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 :

Eviter d'activer une feuille [XL-2007]


Sujet :

Macros et VBA Excel

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Directeur commercial
    Inscrit en
    Novembre 2013
    Messages
    48
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Drôme (Rhône Alpes)

    Informations professionnelles :
    Activité : Directeur commercial
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2013
    Messages : 48
    Points : 29
    Points
    29
    Par défaut Eviter d'activer une feuille
    Bonjour à tous,

    J'utilise le code suivant pour faire une recherche dans une table depuis un formulaire. J'active le formulaire depuis l'onglet "Accueil' et la table se trouve dans l'onglet "Licenciés".

    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
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    Worksheets("Licenciés").Activate
    Feuil1.Cells.Find(What:=Nom, After:=ActiveCell, LookIn:=xlFormulas, LookAt _
            :=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _
            False, SearchFormat:=False).Select
    Index = ActiveCell.Row
    With Sheets("Licenciés")
            Me.Prénom.Value = .Range("A" & Index)
            Me.Nom.Value = .Range("B" & Index)
            Me.DateNaissance.Value = .Range("C" & Index)
            Me.Rue1.Value = .Range("D" & Index)
            Me.Rue2.Value = .Range("E" & Index)
            Me.Rue3.Value = .Range("F" & Index)
            Me.CodePostal.Value = .Range("G" & Index)
            Me.Ville.Value = .Range("H" & Index)
            Me.Domicile.Value = .Range("I" & Index)
            Me.Domicile2.Value = .Range("J" & Index)
            Me.Mobile.Value = .Range("K" & Index)
            Me.Autre.Value = .Range("L" & Index)
            Me.Messagerie1.Value = .Range("M" & Index)
            Me.Messagerie2.Value = .Range("N" & Index)
            Me.Messagerie3.Value = .Range("O" & Index)
            Me.Messagerie4.Value = .Range("P" & Index)
            Me.PersonneAPrévenir1.Value = .Range("Q" & Index)
            Me.PersonneAPrévenir2.Value = .Range("R" & Index)
            Me.PersonneAPrévenir3.Value = .Range("S" & Index)
            Me.Tél1.Value = .Range("T" & Index)
            Me.Tél2.Value = .Range("U" & Index)
            Me.Tél3.Value = .Range("V" & Index)
            Me.Catégorie.Value = .Range("W" & Index)
            Me.Licence = .Range("X" & Index)
            Me.LicenceT.Value = .Range("Y" & Index)
            Me.EnCours.Value = .Range("Z" & Index)
    End With
    Worksheets("Accueil").Activate
    Comment puis-je faire pour éviter les deux instructions Worksheet().Activate ?

    Merci par avance.

  2. #2
    Expert éminent sénior Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Points : 31 877
    Points
    31 877
    Par défaut
    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
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    Dim Lig As Long
    Dim c As Range
     
    With Worksheets("Licenciés")
        Set c = .UsedRange.Find(What:=Nom, LookIn:=xlFormulas, LookAt:=xlPart)
        If Not c Is Nothing Then
            Lig = c.Row
            Set c = Nothing
            Me.Prénom.Value = .Range("A" & Lig)
            Me.Nom.Value = .Range("B" & Lig)
            Me.DateNaissance.Value = .Range("C" & Lig)
            Me.Rue1.Value = .Range("D" & Lig)
            Me.Rue2.Value = .Range("E" & Lig)
            Me.Rue3.Value = .Range("F" & Lig)
            Me.CodePostal.Value = .Range("G" & Lig)
            Me.Ville.Value = .Range("H" & Lig)
            Me.Domicile.Value = .Range("I" & Lig)
            Me.Domicile2.Value = .Range("J" & Lig)
            Me.Mobile.Value = .Range("K" & Lig)
            Me.Autre.Value = .Range("L" & Lig)
            Me.Messagerie1.Value = .Range("M" & Lig)
            Me.Messagerie2.Value = .Range("N" & Lig)
            Me.Messagerie3.Value = .Range("O" & Lig)
            Me.Messagerie4.Value = .Range("P" & Lig)
            Me.PersonneAPrévenir1.Value = .Range("Q" & Lig)
            Me.PersonneAPrévenir2.Value = .Range("R" & Lig)
            Me.PersonneAPrévenir3.Value = .Range("S" & Lig)
            Me.Tél1.Value = .Range("T" & Lig)
            Me.Tél2.Value = .Range("U" & Lig)
            Me.Tél3.Value = .Range("V" & Lig)
            Me.Catégorie.Value = .Range("W" & Lig)
            Me.Licence = .Range("X" & Lig)
            Me.LicenceT.Value = .Range("Y" & Lig)
            Me.EnCours.Value = .Range("Z" & Lig)
        End If
    End With
    Cordialement.
    J'utilise toujours le point comme séparateur décimal dans mes tests.

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Directeur commercial
    Inscrit en
    Novembre 2013
    Messages
    48
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Drôme (Rhône Alpes)

    Informations professionnelles :
    Activité : Directeur commercial
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2013
    Messages : 48
    Points : 29
    Points
    29
    Par défaut
    Merci pour ton aide.

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

Discussions similaires

  1. Activer une feuille
    Par bmeda72 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 05/08/2008, 19h51
  2. activer une feuille à partir de son nom ou d'une valeur de cellule
    Par rom05 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 18/04/2008, 17h58
  3. Activer une feuille dans une macro
    Par koloma dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 04/02/2008, 18h59
  4. ajouter et activer une feuille en excel par vb6
    Par adilissimo dans le forum VB 6 et antérieur
    Réponses: 4
    Dernier message: 19/06/2007, 14h01
  5. Activer une feuille ?
    Par celtix dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 05/05/2007, 18h14

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