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 :

VBA Excel : Mise en forme en fonction de la valeur d'un textbox


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
    Apprenti Ingénieur
    Inscrit en
    Janvier 2016
    Messages
    72
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Apprenti Ingénieur

    Informations forums :
    Inscription : Janvier 2016
    Messages : 72
    Par défaut VBA Excel : Mise en forme en fonction de la valeur d'un textbox
    Bonjour à tous,

    Je souhaiterais mettre en forme un planning d'utilisation de ressources que j'ai réalisé sous EXCEL.

    Je dispose d'une feuille dans laquelle j'ai 8 colonnes (A, B, C, D, E, F, G, H) à droite desquelles j'ai un calendrier, appelons là "Ressource".

    Les 3 premières (A, B, C) se remplissent à partir de la ligne 5 en fonction d'un usf qui me permet de planifier les ressources en fonction du type de travail à effectuer, appelons le "Plan".

    Le usf contient: -1 listbox1 qui va remplir la 1ère colonne
    - 1 textbox1 qui va remplir la 2ème colonne
    - 1 textbox2 qui va remplir la 3ème colonne
    - 1 textbox3 qui, via une saisie, me permet d'affecter un nombre de ressource (de 1 à 6 maxi)
    - 2 commandbutton click ("OK" et "Annuler")

    Le usf apparait quand je clique sur un bouton situé dans la feuille "Ressource".

    Là où j'ai besoin de votre aide ou avis de mise en forme c'est pour la programmation du bouton "OK".

    Je souhaiterais idéalement lorsque je saisie le nombre de ressource (par ex: 2 ressources) en textbox3 et que je clique sur le bouton "OK" les choses suivantes :
    1) Incrémentation de la valeur de la listbox1 en colonne A + fusion des 2 lignes où la valeur peut apparaître en colonne A
    2) Incrémentation de la valeur de la textbox1 en colonne B + fusion des 2 lignes où la valeur peut apparaître en colonne B
    3) Incrémentation de la valeur de la textbox2 en colonne C + fusion des 2 lignes où la valeur peut apparaître en colonne C

    J'ai commencé à codé de la manière suivante :

    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
    Dim N As Integer
     
        N = TextBox3.Value
        ref = ListBox1.Value
        Détail = TextBox1.Value
        OF = TextBox2.Value
     
        If N = 1 Then
     
            Sheets("The Plan").Range("A1000").End(xlUp).Offset(1, 0).Value = ref
            Sheets("The Plan").Range("B1000").End(xlUp).Offset(1, 0).Value = Détail
            Sheets("The Plan").Range("C1000").End(xlUp).Offset(1, 0).Value = OF
     
        End If
     
        If N = 2 Then
     
            Sheets("The Plan").Range("A1000").End(xlUp).Offset(2, 0).Value = ref
            Sheets("The Plan").Range("B1000").End(xlUp).Offset(2, 0).Value = Détail
            Sheets("The Plan").Range("C1000").End(xlUp).Offset(2, 0).Value = OF
     
        End If
     
        If N = 3 Then
     
            Sheets("The Plan").Range("A1000").End(xlUp).Offset(3, 0).Value = ref
            Sheets("The Plan").Range("B1000").End(xlUp).Offset(3, 0).Value = Détail
            Sheets("The Plan").Range("C1000").End(xlUp).Offset(3, 0).Value = OF
     
        End If
     
        'ETC......
    End Sub
    Dans l'espoir d'avoir été le plus clair possible...

    Merci d'avance pour toute aide ou avis

  2. #2
    Expert éminent Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Par défaut
    Je n'ai pas trop compris ce que tu comptes faire avec la valeur de ton TextBox2 mais ton code est simplifiable :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
            Sheets("The Plan").Range("A1000").End(xlUp).Offset(TextBox3.Value, 0).Value = ListBox1.Value
            Sheets("The Plan").Range("B1000").End(xlUp).Offset(TextBox3.Value, 0).Value = TextBox1.Value
            Sheets("The Plan").Range("C1000").End(xlUp).Offset(TextBox3.Value, 0).Value = TextBox2.Value
    Mais je ne comprends pas ce que tu veux faire avec la fusion.

  3. #3
    Membre confirmé
    Homme Profil pro
    Apprenti Ingénieur
    Inscrit en
    Janvier 2016
    Messages
    72
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Apprenti Ingénieur

    Informations forums :
    Inscription : Janvier 2016
    Messages : 72
    Par défaut
    Bonjour Menhir,

    Oui c'est vrai que je n'ai pas forcément besoin de faire de boucles... Merci pour la simplification.

    Concernant la fusion en faite ce que je souhaiterai c'est apporté une clarté visuelle au fichier lorsque je rentre les ressources.

    En effet, quand je clique sur OK je veux qu'il y ait incrémentation des valeurs pour A B C sur un nombre de ligne suffisant pour que je puisse ensuite renseigner ligne par ligne dans les colonnes E F G H :

    - le type de ressource (E)
    - la date de début de travaux (F)
    - la date de fin de travaux (G)
    - le nom de la ressource (H)

    Donc en gros il faudrait que visuellement à gauche de mon tableau que le nombre de ligne en colonne A B C et D ne se voit pas, alors qu'à droite pas besoin.

  4. #4
    Expert éminent Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Par défaut
    Citation Envoyé par aurelu Voir le message
    Concernant la fusion en faite ce que je souhaiterai c'est apporté une clarté visuelle au fichier lorsque je rentre les ressources.
    Le problème c'est que ton End(xlUp) ne prendra pas en compte les cellules fusionnées mais renverra la première cellule de la zone fusionnée, ce qui va poser des problèmes si tu veux mettre tes valeurs les unes à la suite des autres.
    On ne le répètera jamais assez : la fusion, c'est la cata assurée.

  5. #5
    Membre confirmé
    Homme Profil pro
    Apprenti Ingénieur
    Inscrit en
    Janvier 2016
    Messages
    72
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Apprenti Ingénieur

    Informations forums :
    Inscription : Janvier 2016
    Messages : 72
    Par défaut
    ouais, c'est ce que je redoutais comme réponse...

    Aurais-tu peut être une autre approche à me conseiller autre que la fusion qui serait plus simple à maîtriser ?

Discussions similaires

  1. [Excel/VBA] TCD Mise en forme conditionnelle
    Par Invité dans le forum Excel
    Réponses: 12
    Dernier message: 13/08/2015, 16h44
  2. [VBA-EXCEL] selectionner un range en fonction d'une valeur
    Par cladsam dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 22/03/2007, 22h33
  3. VBA/Excel "Mise en forme de texte dans des cellules"
    Par Invité dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 06/03/2007, 16h20
  4. [VBA-Excel] Mise en forme d'un classeur
    Par snooopy007 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 25/07/2006, 18h37
  5. [VBA][Excel] mise en forme conditionnelle
    Par titflocon dans le forum Access
    Réponses: 9
    Dernier message: 19/12/2005, 10h13

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