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 :

Worksheet_Change Intersect et combinaison de recherches dans 5 colonnes


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau candidat au Club
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Novembre 2017
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Chargé d'affaire
    Secteur : Transports

    Informations forums :
    Inscription : Novembre 2017
    Messages : 2
    Par défaut Worksheet_Change Intersect et combinaison de recherches dans 5 colonnes
    Bonjour ou bonsoir suivant l'heure à laquelle vous verrez ce post ; je profite de l'occasion pour remercier tous les admin et contributeurs, qui m'ont permis avec le temps de me perfectionner dans l'utilisation d'EXCEL et VBA.

    Bien évidemment, j'ai cherché sur le forum avant de vous solliciter et je remercie par avance ceux/celles qui pourront m'éclairer.

    Après des joursssss à travailler sur la solution, je dois - à mon grand regret - accepter que j'ai besoin de votre aide...
    Voilà, j'ai repris mes études et cette année, enfin, je vais terminer mon parcours académique (à 35 ans, il est temps de retourner bosser, non ?!).

    Blague à part, pour mon mémoire de fin d'études, je bosse sur l'optimisation de mon suivi de chantier, et je termine actuellement un fichier EXCEL. Je le perfectionne depuis un trimestre et pour la fin de mon projet, il me reste une étape à franchir pour que mon fichier réponde à mon besoin et par conséquent me fasse gagner du temps.

    CONTEXTE
    J'ai un tableau qui comporte des colonnes (de 'AO' à 'AS') avec des numéros de semaines (pour la planification des compagnons).
    Pour chaque opération spécifique, on saisit une date de début (inutile de prendre en compte la date de fin) et cela crée un triangle d'une couleur spécifique dans la colonne équivalente au nombre de semaine indiquée dans la date de début.
    Pour les autres opérations, on saisit la date de début et la date de fin et un rectangle bleu apparaît sur la période programmée

    PROBLEMES RENCONTRES
    Je bloque sur la dernière étape, à savoir :
    - Pour les opérations générales, les rectangles se créent normalement.
    - Pour les opérations spécifiques "Pose Voie" pas de soucis pour la création du triangle.

    Mais je ne sais pas comment modifier le code pour que :
    - Si pour une opération spécifique, il y a une date spécifique en colonne 'AP' ou 'AQ' ou 'AR' ou 'AS' (respectivement pour les opérations spécifiques de 'Chaussée provisoire', 'Mise à hauteur', 'NC' et 'Artère câble')
    --> je veux qu'un triangle de couleur spécifique soit créé en fonction des numéros de semaines indiquées en colonnes 'AP', 'AQ', 'AR' et 'AS'.
    - Si pour une opération spécifique, j'ai une, deux, trois, quatre ou cinq dates renseignée sur une même ligne,
    --> je veux qu'il y ait sur la même ligne la création d'un triangle par date renseignée (avec sa couleur spécifique). Chaque triangle créé sur cette ligne sera positionnée en fonction de la date indiquée en colonne 'AP' et/ou 'AQ' et/ou 'AR' et/ou 'AS'.


    PRECISION

    Si je vous sollicite, c'est que là, je ne vois pas comment avancer. J'espère avoir été suffisamment éclairant sur ma problématique.
    Je reste à votre disposition pour toute précision ou retour. Je vous ai mis en pièce jointe, le fichier excel épuré, uniquement avec la partie décrite.

    Je tiens à préciser que j'apprends doucement sur VBA et que c'est la première fois que je bosse sur un Worksheet_Change et sur un Intersect. Sur internet, il y a toutes sortes d'exemples, moi je ne trouve pas avec plusieurs intersect.
    Sur les conseils d'un contributeur sur un autre post, j'ai essayé d'intégrer un Tache = Array à mon code, mais visiblement, je n'ai pas encore assimilé comment l'intégrer dans mon code (quand j'ai ajouté ce bout de code, plus rien ne fonctionne.

    Merci d'avoir pris le temps de me lire et merci par avance pour toute personne qui pourra m'aider. Bonne fin de journée.
    Classeur3.xlsm

  2. #2
    Membre Expert
    Inscrit en
    Septembre 2007
    Messages
    1 142
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 142
    Par défaut
    Bonjour,
    Citation Envoyé par khalid1985 Voir le message
    c'est la première fois que je bosse sur un Worksheet_Change et sur un Intersect.
    Pour Worksheet_Change c'est simplement une macro événementielle qui se déclenche aux changements en te donnant les paramètres concernés.


    Intersect te permet de savoir si le changement concerne la plage que tu veux traiter et si tu as plusieurs plages utilisées tu peux utiliser Union.
    Par exemple avec ce code tu auras le message "ok" si tu fais un changement sur les colonnes G, H ou K.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    If Not Intersect(Target, Union(Range("G:H"), Range("K:K"))) Is Nothing Then
        MsgBox "ok"
    End If

  3. #3
    Nouveau candidat au Club
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Novembre 2017
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Chargé d'affaire
    Secteur : Transports

    Informations forums :
    Inscription : Novembre 2017
    Messages : 2
    Par défaut
    Bonjour, merci d'avoir pris le temps de me répondre.
    J'ai plutôt bien avancé entre temps depuis mon premier poste.

    Là je planche sur une nouvelle problématique :
    - J'aimerai pouvoir avoir la possibilité de lier deux triangles par un connecteur : j'avais pensé à ajouter une colonne et y placer le nom du shape de destination (la création des noms des shapes est réalisée par le code, ce qui simplifierait l'instruction mais je n'ai aucune idée de comment m'y prendre).

    Recherches et suggestions ?
    J'ai cherché sur différents forums, mais pour l'instant, je ne vois que des procédures semi-automatiques. Pour mon besoin, j'ai besoin qu'après la création d'un shape, que le code vérifie si le shape doit être lié à un autre et qu'il créé le connecteur le cas échéant. Je ne sais pas si c'est réalisable, mais si c'est le cas, je suis preneur si quelqu'un a des pistes à me partager pour que j'oriente mes recherches/lecture.

    Bonne journée à tous
    et encore merci anasecu pour ton temps

Discussions similaires

  1. Recherche dans une colonne
    Par david71 dans le forum Access
    Réponses: 4
    Dernier message: 26/06/2007, 20h37
  2. Recherche dans une colonne tableau Word
    Par cath007 dans le forum VBA Word
    Réponses: 2
    Dernier message: 13/06/2007, 17h35
  3. Recherche dans plusieurs colonnes d'une table
    Par yoline dans le forum Access
    Réponses: 4
    Dernier message: 26/07/2006, 11h58
  4. Recherche dans plusiuers colonnes d'une table
    Par yoline dans le forum Access
    Réponses: 3
    Dernier message: 25/07/2006, 13h00
  5. [VBA-E] Recherche dans une colonne
    Par snowkhan dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 03/03/2006, 14h21

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