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 :

Pointer sur une cellule fusionnée en Vba Excel


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé
    Homme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Septembre 2007
    Messages
    1 896
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France

    Informations professionnelles :
    Activité : Assistant aux utilisateurs
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 896
    Par défaut Pointer sur une cellule fusionnée en Vba Excel
    Bonjour,

    Voici mon problème et je vais essayer d'être le plus clair possible.

    Dans une feuille de calcul où je rentre des congés annuels, un formulaire nommé "FrmDate" s'ouvre. Dans celui-ci 2 zones de saisies, une Combo (CmbNom) alimenter par les cellules 6 à 50 de la colonne A, 1 TextBox (TxtDu et un bouton de validation "CmbOk".

    Dans la feuille de calculs, les cellules de la ligne 5 sont au format date "jj" (05)
    les cellules de la ligne 4 sont au format date "jjj" (ven).

    Dans le formulaire, l'agent choisi un nom dans la liste proposée, met la date dans TxtDu (format "00/00/0000").

    Après avoir cliqué sur "Ok", je souhaiterai que la plage de cellules correspondant à la ligne où se trouve le nom de l'agent et à la date inscrite puissent être pointées.

    Comment puis-je réaliser cela ? Quelqu'un a t'il fait quelque chose de similaire ?
    Merci par avance pour votre aide

  2. #2
    pgz
    pgz est déconnecté
    Expert confirmé Avatar de pgz
    Homme Profil pro
    Développeur Office VBA
    Inscrit en
    Août 2005
    Messages
    3 692
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 72
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Office VBA
    Secteur : Conseil

    Informations forums :
    Inscription : Août 2005
    Messages : 3 692
    Par défaut
    Bonjour.

    Si tu veux montrer à l'écran la ligne l d'une feuille, tu peux essayer
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Application.Thisworkbook.Worksheets("NomFeuille").Range("A:" & numLigne).Show
    Bonne journée,

    PGZ

  3. #3
    Membre éprouvé
    Homme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Septembre 2007
    Messages
    1 896
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France

    Informations professionnelles :
    Activité : Assistant aux utilisateurs
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 896
    Par défaut
    Bonjour,

    Je fais cette manip pour permettre de pointer très rapidement la cellule où il doit commencer à saisir les congés.
    Il faut qu'il y ait un rapport entre le nom choisi et la date. La feuille du classeur comprend 1 trimestre du 1er janvier au 31 mars.

  4. #4
    Membre Expert Avatar de Godzestla
    Homme Profil pro
    Chercheur de bonheur
    Inscrit en
    Août 2007
    Messages
    2 395
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de bonheur
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2007
    Messages : 2 395
    Par défaut
    Bonjour NEC14,
    a vrai dire j'ai lu ton post... mais rien compris....

    Si tu veux localiser une cellule sur base de critères, il y a .Vlookup ou .Hlookup ou .Find.

    Ensuite pour mettre le curseur dessus, il y a .select.

  5. #5
    Membre éprouvé
    Homme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Septembre 2007
    Messages
    1 896
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France

    Informations professionnelles :
    Activité : Assistant aux utilisateurs
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 896
    Par défaut
    Par exemple :

    Je choisis dans le Combo "Dupont"
    Il prend des congés à partir du 12/02/2009
    Dans le Textbox je saisie 12/02/2009
    A partir de ça et lorsque je clique sur Ok, la cellule se trouvant à l'intersection de la date et du Nom est pointée.

  6. #6
    Membre Expert Avatar de Godzestla
    Homme Profil pro
    Chercheur de bonheur
    Inscrit en
    Août 2007
    Messages
    2 395
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de bonheur
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2007
    Messages : 2 395
    Par défaut
    RE,
    jusque là j'avais bien compris.

    mais quid du format de tes données et de leur disposition dans ta(tes) feuille(s).

    Il me serait confortable que tu sois plus explicite que
    A partir de ça et lorsque je clique sur Ok, la cellule se trouvant à l'intersection de la date et du Nom est pointée.

  7. #7
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Par défaut
    Je crois que j'ai tout bien compris :
    En fait ton problème est de retrouver la ligne de ton bonhomme à la date saisie.
    Pour ça, utilise une recherche du nom avec Find sur la colonne des noms et tu vérifies la date
    Si elle bonne, la ligne est "celle-là"
    Sinon, la recherche se poursuit
    Pour la syntaxe, c'est celle décrite dans l'aide en ligne, à find, à laquelle tu ajoutes la vérification de la date (la colonne du nom Offset(0, ???)
    Si tu as un pb avec ça, pour t'aider, il nous faut la colonne du nom et celle de la date.
    Epicétou !
    A+

  8. #8
    Membre éprouvé
    Homme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Septembre 2007
    Messages
    1 896
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France

    Informations professionnelles :
    Activité : Assistant aux utilisateurs
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 896
    Par défaut
    Bonjour,

    Désolé de revenir à la charge, mais je ne comprends absolument pas comment fonctionne Find.
    Comment rechercher une cellule à partir d'une Combo et d'un TextBox ?
    J'ai essayé des codes trouvés sur la toile, mais je me plante lamentablement.
    Je vais laisser tomber, les utilisateurs se serviront de la souris pour pointer la cellule, je ne vais pas passer mon temps là dessus.
    Mais bon, je vais chercher encore un peu.
    Le code que j'ai mis précédemment ne fonctionne absolument pas

  9. #9
    Membre Expert Avatar de Godzestla
    Homme Profil pro
    Chercheur de bonheur
    Inscrit en
    Août 2007
    Messages
    2 395
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de bonheur
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2007
    Messages : 2 395
    Par défaut
    Je te réponds plus tard...

    pas possible pour l'instant....

    Edit------------

    Voilà.

    D'abord
    1) dans l'aide de FIND pour VBA, voici l'exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    Example
    This example finds all cells in the range A1:A500 on worksheet one that contain the value 2 and changes it to 5.
     
    With Worksheets(1).Range("a1:a500")
        Set c = .Find(2, lookin:=xlValues)
        If Not c Is Nothing Then
            firstAddress = c.Address
            Do
                c.Value = 5
                Set c = .FindNext(c)
            Loop While Not c Is Nothing And c.Address <> firstAddress
        End If
    End With
    Remarque qu'il fonctionne avec un range. Je ne vois pas cela dans ton code.

    2) Voic1, très vite car pas de temps comment je ferais (pas testé tu t'en doutes)


    A) Tu extrais le mois et le jour de la date sélectionnée. Le mois peut te donner la feuille (1->3 : Feuille 1, etc....). Le jour et le mois te donne la colonne de 1 à 90 (ou 91 année bissexctile. je te laisse gérer l'année bissexctile tout seul). Attention si colonne 1 contient les noms.

    Resultat trouvé : Feuille_du_mois , Colonne_du_jour

    B) Tu utilise .FIND avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    With Worksheets(feuille_du_mois).Range("a1:axxx")
        Set c = .Find(cnom.value, lookin:=xlValues)
        If Not c Is Nothing Then
            ligne = c.row
        End If
    End With
    C) colonne = colonne_du_jour

    Finito.


    NB : avec VLOOKUP tu peux retrouver le contenu de la cellule très vite et l'afficher, mais pas te positionner dessus.

  10. #10
    Membre éprouvé
    Homme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Septembre 2007
    Messages
    1 896
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France

    Informations professionnelles :
    Activité : Assistant aux utilisateurs
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 896
    Par défaut
    Merci pour le temps que tu m'accordes, je vais essayer de faire quelque chose avec ça.
    Si je n'y arrive pas, je laisse tomber
    Encore un grand merci

  11. #11
    Membre Expert Avatar de Godzestla
    Homme Profil pro
    Chercheur de bonheur
    Inscrit en
    Août 2007
    Messages
    2 395
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de bonheur
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2007
    Messages : 2 395
    Par défaut
    . Quand tu as testé, pense à mon donner ton avis sur le code CutePdf.

  12. #12
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Par défaut
    Juste un détail : Déclare c as range, c'est plus mieux

    (Hello Godzestla)

  13. #13
    Membre éprouvé
    Homme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Septembre 2007
    Messages
    1 896
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France

    Informations professionnelles :
    Activité : Assistant aux utilisateurs
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 896
    Par défaut
    Citation Envoyé par Godzestla Voir le message
    . Quand tu as testé, pense à mon donner ton avis sur le code CutePdf.
    Bonjour Godzesla,

    Je ne suis pas administrateur de mon poste et je n'ai pas les droits pour télécharger les fichiers indiqués. De ce fait, je ne peux tester ton application et les administrateurs ne veulent pas m'aider sur le coup.
    Tant pis et dommage.
    Je dois donc supprimer ton envoi de mon répertoire. (dur, dur).
    Merci beaucoup pour ton aide

    A+

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 30/01/2012, 13h42
  2. Pointer sur une cellule et non son contenu
    Par MiXinG dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 30/04/2009, 12h04
  3. [VBA-Excel] DblClick sur une cellule
    Par marsupilami34 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 04/01/2007, 10h51
  4. [VBA-Excel]Supprimer une colonne entiere basee sur une cellule
    Par Tartenpion dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 05/10/2006, 22h08
  5. [Vba-Excel] Récupérer événement sur une cellule
    Par steps5ive dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 26/04/2006, 20h27

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