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 :

aide programmation VBA


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2015
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nièvre (Bourgogne)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2015
    Messages : 8
    Par défaut aide programmation VBA
    bonjour à tous,

    je suis un très gros novice en programmation quelle qu'elle soit ^^
    j'ai besoin pour un futur projet d'avoir un classeur pour le suivie kilométrique de pièces.
    je travail sur EXCEL 2013
    j'ai reussi à créer un formulaire afin d'ajouter de nouvelles pièces à mon classeur ( merci Youtube ^^ )
    j'ai également une mise en forme conventionnelle pour le remplissage des fonds de mes lignes en fonction de certains paramètres.


    voici un imprim écran du classeur :

    Nom : Capture.JPG
Affichages : 320
Taille : 233,3 Ko


    je souhaite maintenant, lorsque mes pièces seront toutes ajoutées, avoir un autre USERFORM qui me permettra d'en selectionner plusieurs comme la liste du tri.
    puis incrementer la cellule temps de roulage et temps de banc aux pièces selectionnées.


    je ne sais pas si c'est très bien expliqué...

    si quelqu'un pouvait me filer une petit coup de main car je ne trouve rien sur you tube ou autre

    merci d'avance
    cordialement
    SCHUMI22

  2. #2
    Membre Expert Avatar de Gado2600
    Homme Profil pro
    Développeur Office VBA
    Inscrit en
    Mai 2013
    Messages
    904
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Office VBA

    Informations forums :
    Inscription : Mai 2013
    Messages : 904
    Par défaut
    Bonjour,

    je ne trouve rien sur you tube ou autre
    As-tu essayé sur www.developpez.net ?

    Blague à part, ce qu'il te faut c'est, une zone de liste (à ne pas confondre avec une liste déroulante comme tu utilises dans ton exemple) dans ton Userform avec comme paramètre multiselection.
    En utilisant comme mot clé "rowsource", tu devrais trouver 2-3 trucs pour l'alimenter (pour que ton code soit plus efficace et rapide, je te conseille d'ajouter dans cette liste, le numéro de la ligne de tes données).

    En parcourant chacun de tes items sélectionnés dans ta liste, tu pourras appliquer ton incrémentation.

    Je pense qu'avec ces mots-clés et ton début d'expérience en VBA, cela devrait te permettre d'y voir plus clair.

    Cordialement,

  3. #3
    Membre éclairé
    Avatar de tamtam64
    Homme Profil pro
    stagiaire developpement vba
    Inscrit en
    Mai 2012
    Messages
    456
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : stagiaire developpement vba
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2012
    Messages : 456
    Billets dans le blog
    17
    Par défaut un coup de pouce
    Un bou de code pour t'aider : ca permet de le mettre dans une liste box et sa te liste ce que tu met en range je m'en suis servis une fois , je ne suis pas du tout callé en userform donc je ne vais pas pouvoir t'aider plus mais bon ca pourra probablement t'aider dans ton userform
    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
    'liste entreprise 1
    Private Sub CompanyName1_KeyUp(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
    Dim trouve As String, I As Integer
    Worksheets("Feuil1").Select
    trouve = CompanyName1
    With CompanyName1
       .Clear
       For I = 1 To 59
          If Range("b" & I) Like trouve & "*" Then
             .AddItem Range("B" & I)
             .List(.ListCount - 1, 1) = Range("C" & I)
             .List(.ListCount - 1, 2) = Range("D" & I)
          End If
       Next I
       .ListIndex = 0
    End With
    End Sub

  4. #4
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2015
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nièvre (Bourgogne)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2015
    Messages : 8
    Par défaut
    merci pour vos réponse

    en revanche cela ne m'aide pas beaucoup ... je suis réellement novice les gars, pour la plus part des propos je n'ai rien compris

    la zone de liste me permettra t elle de faire une selection de ce type ?

    Nom : Sans titre 2.jpg
Affichages : 210
Taille : 137,6 Ko

    car je souhaite choisir sur quelles pièces j'éffectue l'incrémentation ( une incrémentation d'une valeur que je choisirai dans ce USERFORM )

  5. #5
    Membre éclairé
    Avatar de tamtam64
    Homme Profil pro
    stagiaire developpement vba
    Inscrit en
    Mai 2012
    Messages
    456
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : stagiaire developpement vba
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2012
    Messages : 456
    Billets dans le blog
    17
    Par défaut
    Sinon tu peux utiliser l'enregistreur de macro peut etre? et la tu utilise un tableau croisé dynamique non?

  6. #6
    Expert confirmé
    Homme Profil pro
    Inscrit en
    Août 2010
    Messages
    3 453
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 3 453
    Par défaut
    Bonjour,

    Pose sur ta Form une liste de choix (ListBox) et un bouton (CommandButton), colle le code ci-dessous et teste et adapte à tes besoins. La liste te permet une sélection multiple avec case à cocher et le bouton incrémente de 1 à chaque clic la valeur des cellules de la colonne D :
    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
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
     
    Private Sub UserForm_Initialize()
     
        Dim Plage As Range
        Dim I As Integer
     
        With ActiveSheet
     
            'sur la feuille active en colonne A à partir de la 14 ème ligne
            Set Plage = .Range(.Cells(14, 1), .Cells(.Rows.Count, 1).End(xlUp))
     
        End With
     
        With ListBox1
     
            '3 colonnes
            .ColumnCount = 3
            .ColumnWidths = "100;100;100"
            .ListStyle = fmListStyleOption
            .MultiSelect = fmMultiSelectMulti
     
            'rempli la liste
            For I = 1 To 10
     
                .AddItem Plage(I).Value
                .Column(1, I - 1) = Plage(I).Offset(, 1).Value
                .Column(2, I - 1) = Plage(I).Offset(, 2).Value
     
            Next I
     
        End With
     
    End Sub
     
    Private Sub CommandButton1_Click()
     
        Dim I As Integer
     
        With Me.ListBox1
     
            For I = 0 To .ListCount - 1
     
                If .Selected(I) = True Then
     
                    With ActiveSheet.Range("D" & I + 14)
     
                        .Value = .Value + 1
     
                    End With
     
                End If
     
            Next I
        End With
     
    End Sub
    Hervé.

Discussions similaires

  1. Demande d'aide programmation VBA
    Par quentin22breizh dans le forum Macros et VBA Excel
    Réponses: 11
    Dernier message: 10/09/2012, 16h27
  2. [Toutes versions] Aide programmation VBA
    Par sébastien.R dans le forum Macros et VBA Excel
    Réponses: 28
    Dernier message: 09/05/2011, 03h09
  3. aide programmation vba
    Par arbotch dans le forum Macros et VBA Excel
    Réponses: 21
    Dernier message: 28/05/2009, 16h05
  4. Aide Programmation VBA?
    Par chubak62 dans le forum Excel
    Réponses: 3
    Dernier message: 20/05/2009, 20h41

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