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 :

Mettre format à une cellule adjacente en 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
    Inscrit en
    Novembre 2013
    Messages
    111
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Secteur : Bâtiment

    Informations forums :
    Inscription : Novembre 2013
    Messages : 111
    Par défaut Mettre format à une cellule adjacente en VBA
    Bonjour,

    En cellule A1, j'ai une date
    J'aimerais que les cellules A2, A3, A4 et A5 change de format en fonction de conditions à définir par rapport à la cellule A1.
    Ex. si la date est un samedi, les 4 cellules suivantes seront en jaune

    Merci pour votre aide

  2. #2
    Expert éminent


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Par défaut
    bonsoir,

    Sans VBA tu peu utiliser une mise en forme conditionnelle en utilisant la condition :


  3. #3
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Novembre 2013
    Messages
    111
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Secteur : Bâtiment

    Informations forums :
    Inscription : Novembre 2013
    Messages : 111
    Par défaut
    C'est gentil, oui j'y avais pensé mais le but ici est de le faire uniquement en VBA..

    car l'objectif après sera d'étendre la fonction sur une plage de donnée entière

    cela donnerait quelque chose du genre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    If MyWeekDay = [1] Or MyWeekDay = [7] Then
                
                Range(Target, Target(0, 5)).Interior.Color = vbBlack
    
    End if
    target serait A1 par exemple et le reste dans le but d'étendre la sélection de 5 cases vers la droite..

    mais évidemment, cela ne fonctionne pas (la ligne rouge)

  4. #4
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    13 168
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 13 168
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Toujours sans VBA, il est possible de nommer une plage et de la rendre dynamique soit avec la formule DECALER soit en transformant la plage de cellules en tableau.
    Dans la Mise en forme Conditionnelle on fait alors référence à cette plage nommée.
    Il est également possible de faire en sorte que dans la MFC on fasse en sorte que la formule qui compare le jour de la semaine soit elle même dynamique.
    Il faudrait en savoir un peu plus sur la manière dont sont organisées tes données.
    Maintenant si tu veux absolument le faire en VBA, c'est possible bien entendu mais ccela me semble plus simple d'utiliser en priorité les fonctionnalités natives du produit.
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

  5. #5
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Novembre 2013
    Messages
    111
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Secteur : Bâtiment

    Informations forums :
    Inscription : Novembre 2013
    Messages : 111
    Par défaut
    Le problème avec les MFC est que l'on est limiter après dans la feuille de calcul.
    Ex. je mets en forme une colonne (janvier) et je voudrais en faisant un simple copier-coller reproduire cette MFC pour tous les autres mois, et bien cela ne fonctionne pas ou alors après un assez lourd travail.
    De même que par après, dans 6 mois par exemple, il me faudra toujours faire attention à ces changements dans mon fichier.. assez ennuyeux quoi. J'ai déjà expérimenté cela et c'est embêtant plus qu'autre chose.

    Donc j'essaye de mettre TOUT en VBA pour éviter ce genre de problèmes à l'avenir.

    Merci pour ton aide

  6. #6
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Novembre 2013
    Messages
    111
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Secteur : Bâtiment

    Informations forums :
    Inscription : Novembre 2013
    Messages : 111
    Par défaut
    Pour info, voici ce que je recherchais :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    NumCol = Range(Cellule.Address).Column
    ColFin = Split(Cells(8, NumCol + 5).Address, "$")(1)
    Range(Cellule.Address & ":" & ColFin & Cellule.Row).Interior.Color = vbBlack

    Ce code m'a été donné sur un autre forum.

    Merci quand même

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

Discussions similaires

  1. [XL-2007] mettre à jour une cellule à partir d'un script vba
    Par google_c# dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 04/01/2011, 13h51
  2. [AC-2003] Formater une cellule Excel dans un code VBA
    Par demcoul dans le forum VBA Access
    Réponses: 2
    Dernier message: 28/09/2009, 14h08
  3. [SWING] Comment formater une cellule d' une JTable ?
    Par Hamdi Hedhili dans le forum Composants
    Réponses: 6
    Dernier message: 23/12/2008, 14h59
  4. Formater une cellule en VBA pour recevoir une date
    Par *.Har(d)t dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 09/05/2007, 17h39
  5. [VBA-E] Formater une cellule en format monétaire
    Par steps5ive dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 18/07/2006, 15h15

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