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 :

Démarrage programmation difficile [XL-2007]


Sujet :

Macros et VBA Excel

  1. #1
    Membre confirmé
    Homme Profil pro
    sécurité
    Inscrit en
    Septembre 2012
    Messages
    197
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : sécurité
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Septembre 2012
    Messages : 197
    Par défaut Démarrage programmation difficile
    Bonjour à tous

    Merçi pour le forum qui éclairssi beaucoup de solution.

    Je n'arrive pas à démarrer mes programmations sur mon fichier, POURQUOI ???? je ne sais pas !!!! pourtant j'en ai déjà crée, mystère.

    Je viens demander de l'aide malgrès plusieurs recheche mais en vain je ne trouve pas se que je souhaite.

    Je cré un fichier et j'aimerai enregistrer dans un tableau des nom et prénom sous un nom de ville selectionné au par avant et que cela ajoute une ligne automatiquement sous la ou les villes concernées.

    un fichier en piece jointe pour que se sois plus explicite.

    Merçi A bientot à tous.

  2. #2
    Membre émérite Avatar de keygen08
    Homme Profil pro
    Inscrit en
    Octobre 2012
    Messages
    545
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations forums :
    Inscription : Octobre 2012
    Messages : 545
    Par défaut
    Bonjour

    Le code suivant est à integrer dans la feuille (agent)
    les cbox nom et ville se charge à l'activation de la feuille

    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
    Private Sub Worksheet_Activate()
    'Dim num As Integer
    Dim cell As Range
     
    Feuil1.ComboBox1.Clear
    Feuil1.ComboBox2.Clear
     
    'recherche toutes les cellules contenant une valeur dans le tableau en B:B
    For Each cell In Feuil2.Range("b4:b" & Feuil2.Range("b65000").End(xlUp).Row)
    'charge toutes les valeurs dont la couleur est rouge dans la combox  nom-prenom
     
        If cell.Font.ColorIndex = 3 Then
            Feuil1.ComboBox1.AddItem cell.Text
     
    'si la couleur est noire, charge dans combox ville
            Else
                If cell.Font.ColorIndex = -4105 Then
                Feuil1.ComboBox2.AddItem cell.Text
            End If
        End If
    Next cell
     
    End Sub
     
    Private Sub CommandButton1_Click()
    'cherche la ville
        With Feuil2.Range("b:b")
            Set c = .Find(TextBox2, LookIn:=xlValues, LookAt:=xlWhole)
            If Not c Is Nothing Then ville = c.Row + 1
        End With
    'ajoute une ligne et colle les données
    Feuil2.Range("a" & ville).EntireRow.Insert
    Feuil2.Range("a" & ville).EntireRow.Font.ColorIndex = 3
    Feuil2.Range("a" & ville).Value = ComboBox2.ListIndex + 1
    Feuil2.Range("b" & ville).Value = TextBox1.Value
     
    End Sub
     
    Private Sub ComboBox2_Change()
    Feuil1.TextBox2.Value = Feuil1.ComboBox2.Text
    End Sub
     
    Private Sub CommandButton3_Click()
    'supprimer un nom prénom
        With Feuil2.Range("b:b")
            Set c = .Find(TextBox1, LookIn:=xlValues, LookAt:=xlWhole)
            If Not c Is Nothing Then ville = c.Row
        End With
    Feuil2.Range("a" & ville).EntireRow.Delete
    End Sub

  3. #3
    Membre confirmé
    Homme Profil pro
    sécurité
    Inscrit en
    Septembre 2012
    Messages
    197
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : sécurité
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Septembre 2012
    Messages : 197
    Par défaut
    Bonsoir Keygen08

    Tout d'abord merçi de ta réponse qui devrait m'aider fortement, c super .
    Je vais essayer ta proposition et te tiens aux news...

    A te lire

  4. #4
    Membre confirmé
    Homme Profil pro
    sécurité
    Inscrit en
    Septembre 2012
    Messages
    197
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : sécurité
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Septembre 2012
    Messages : 197
    Par défaut charger txtbx et recherche.
    Bonjour Keygen08

    Merçi pour ta proposition c'est tout juste se que je souhaitai

    J'aurai besoin de quelques infos complémentaires si tu veux bien, j'aimerai maintenant en plus récupérer les infos correspondant a un Nom Prénom quand je clik dans la liste (j'ai ajouté des textbox sur feuil "agent" qui correspond aux titre du tableau) afin de pouvoir modofier.
    Puis valider les modifications a l'aide du bouton "Modifier" pour enregistrer sur la même ligne ou sur une autre ligne si la ville venait à changer.
    Merçi

    A te lire

  5. #5
    Membre émérite Avatar de keygen08
    Homme Profil pro
    Inscrit en
    Octobre 2012
    Messages
    545
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations forums :
    Inscription : Octobre 2012
    Messages : 545
    Par défaut
    Bonjour

    Ceci pour afficher les informations dans les textbox en fonction du nom afficher dans la combo

    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
    Private Sub ComboBox1_Change()
        Dim Lig As Integer
     
    'recherche le nom et prénom dans la liste
        With Feuil2.Range("b:b")
            Set c = .Find(ComboBox1, LookIn:=xlValues, LookAt:=xlWhole)
            If Not c Is Nothing Then Lig = c.Row
        End With
    'renvoi les valeurs de tableau1 dans les differents textbox
        Feuil1.TextBox4.Value = Feuil2.Cells(Lig, 3).Value
        Feuil1.TextBox4.Value = Feuil2.Cells(Lig, 4).Value
        Feuil1.TextBox4.Value = Feuil2.Cells(Lig, 5).Value
        Feuil1.TextBox4.Value = Feuil2.Cells(Lig, 6).Value
            'plus si affinité
     
    End Sub
    Lors de l'activation du bouton modifier, l'ancienne ligne est supprimer pour en ajouter une soit au meme endroit, soit dans un autre ville.

    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
    Private Sub CommandButton2_Click()
        Dim Lig As Integer
    'recherche et supprime l'ancienne ligne
        With Feuil2.Range("b:b")
            Set c = .Find(ComboBox1, LookIn:=xlValues, LookAt:=xlWhole)
            If Not c Is Nothing Then Lig = c.Row
        End With
        Feuil2.Cells(Lig, 1).EntireRow.Delete
     
    'cherche la ville ou ajouter la ligne
        With Feuil2.Range("b:b")
            Set c = .Find(TextBox2, LookIn:=xlValues, LookAt:=xlWhole)
            If Not c Is Nothing Then Lig = c.Row + 1
        End With
     
        Feuil2.Cells(Lig, 1).EntireRow.Insert
        Feuil2.Range("B" & Lig & ":I" & Lig).Font.ColorIndex = 3
        Feuil2.Range("B" & Lig & ":J" & Lig).Interior.ColorIndex = 19
    'renvoi la valeur des textbox dans le tableau1
        Feuil2.Cells(Lig, 2).Value = Feuil1.ComboBox1.Value
        Feuil2.Cells(Lig, 3).Value = Format(Feuil1.TextBox4.Value, "dd-mmm-yyyy")
        Feuil2.Cells(Lig, 4).Value = Feuil1.TextBox5.Value
        Feuil2.Cells(Lig, 5).Value = Feuil1.TextBox6.Value
        Feuil2.Cells(Lig, 6).Value = Feuil1.TextBox7.Value
     
    End Sub

  6. #6
    Membre confirmé
    Homme Profil pro
    sécurité
    Inscrit en
    Septembre 2012
    Messages
    197
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : sécurité
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Septembre 2012
    Messages : 197
    Par défaut charger txtbx et recheche
    Bonjour Keygen08

    Merçi de ta réponse rapide et efficace.
    C'est juste ce que je veux, ça fais des jours que je cherche à construire tout ça, merçi encore.

    Je me permet de te deranger encore un peu pour des p'tits points à fignoler :

    - Est il possible d'avoir le nom de la ville dans la txtbx2 lorsqu'un nom prénom est sélectionné (comme les autres txtbx)?
    - Ds mon mon tableau il y a une colonne pour l'age comment puis-je faire pour le calculer automatiquement et a chaque ligne ajouter.
    - Chose plus simple je pense, comment vider les txtbx des que l'on click sur les boutons "créer, modifier, supprimer"

    A te lire

  7. #7
    Membre émérite Avatar de keygen08
    Homme Profil pro
    Inscrit en
    Octobre 2012
    Messages
    545
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations forums :
    Inscription : Octobre 2012
    Messages : 545
    Par défaut
    Bonjour

    Est il possible d'avoir le nom de la ville dans la txtbx2 lorsqu'un nom prénom est sélectionné (comme les autres txtbx)?
    Ajouter ceci dans la macro de combobox1_change en bas avant le END SUB

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    ville:
        If Feuil2.Cells(Lig, 2).Font.ColorIndex = -4105 Then
        Feuil1.TextBox2.Value = Feuil2.Cells(Lig, 2).Value
        Exit Sub
            Else
            Lig = Lig - 1
            GoTo ville
        End If
    une colonne pour l'age comment puis-je faire pour le calculer automatiquement
    Ajouter ceci dans la macro du bouton modifier, en dessous de "renvoi les valeurs des textbox"
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Feuil2.Cells(Lig, 5).FormulaR1C1 = "=CONCATENATE(DATEDIF(RC[-1],TODAY(),""y"")& "" ans "",DATEDIF(RC[-1],TODAY(),""ym"")& "" mois"")"
    vider les txtbx des que l'on click sur les boutons "créer, modifier, supprimer"
    Ajouter dans les macro de chaque bouton avant END SUB

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
        Dim Ctrl As OLEObject
        For Each Ctrl In ActiveSheet.OLEObjects
            If TypeOf Ctrl.Object Is MSForms.textbox Then Ctrl.Object.Text = vbNullString
        Next

  8. #8
    Membre confirmé
    Homme Profil pro
    sécurité
    Inscrit en
    Septembre 2012
    Messages
    197
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : sécurité
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Septembre 2012
    Messages : 197
    Par défaut
    Bonjour
    Merçi pour tout tu est génial.

    Avec ton aide j'arrive à construire mon fichier, maintenant j'aimerai l'améliorer un peu plus, si tu veux bien biensur.

    J'ai ajouté 2 feuilles, sur une il y a un tableau (appelé tableau2) et l'autre (appelé compétences) reste sur le même principe que la feuil "agent" afin de renseigner le tebaleau2.

    - J'aimerai quand je renseigne le tableau1 que les 2 colonnes du tableau2 se renseigne également (colonne B et C).
    - puis sur la feuil "compétences" avoir les mêmes combobox et textbox (Nom prénom et ville) comme la feuil "agent" afin que je puisse par la suite compléter à l'aide de chekbox le tableau2.

    merçi, a te lire

  9. #9
    Membre émérite Avatar de keygen08
    Homme Profil pro
    Inscrit en
    Octobre 2012
    Messages
    545
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations forums :
    Inscription : Octobre 2012
    Messages : 545
    Par défaut
    Bonjour

    J'aimerai quand je renseigne le tableau1 que les 2 colonnes du tableau2 se renseigne également (colonne B et C).
    dans commandbutton2

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Feuil2.Cells(Lig, 4).Value = Feuil1.TextBox5.Value
    pourrait également s'ecrire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sheets("tableaux1").cells(lig, 4).value =sheets("agent").textbox5.value
    on dit simplement que la valeur de la feuille tableau E(x)= au contenu de textbox5
    donc rien n'empeche d'envoyer cette meme valeur sur une autre feuille au meme moment en ajoutant une ligne. la meme mais ou tableaux1 est remplacé par tableaux2.

    Je pense t'avoir bien avancé mais si je continue de tout faire, cela ne t'aideras pas.
    tu doit pouvoir t'en sortir en faisant de nombreux copier coller et en reprenant des bout de code de çi de la.
    Une solution pour comprendre ce qu'il se passe est de diviser ton ecran en deux moitie excel et moitie VB puis de lancer le code à l'aide de F8, tu peux ainsi voir en direct les modification qui s'opere dans excel pour chaque ligne de ton code.

  10. #10
    Membre confirmé
    Homme Profil pro
    sécurité
    Inscrit en
    Septembre 2012
    Messages
    197
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : sécurité
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Septembre 2012
    Messages : 197
    Par défaut
    bonjour keygen08

    suite à ta dernière réponse je suis entièrement en accord avec toi, j'ai donc essayé , fais des recherches malheureusement je suis complétement perdu et n'arrive tjr pas à recopier les villes et nom prénom dans mon 2ème tableau quand je click sur bouton créer .
    Là je suis plus qu'enlissé!!!
    Mais heureusement dans mes recherches d'autres choses mon fortement intérressé pour la suite. .

    A te lire

  11. #11
    Membre confirmé
    Homme Profil pro
    sécurité
    Inscrit en
    Septembre 2012
    Messages
    197
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : sécurité
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Septembre 2012
    Messages : 197
    Par défaut
    re bonjour keygen08

    Voilà ça y est je viens de trouver la solution à mon problème, je te remerci pour tout.
    Super forum a bientot

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

Discussions similaires

  1. Démarrage programme inefficace
    Par herved62 dans le forum Windows 7
    Réponses: 4
    Dernier message: 31/07/2014, 20h07
  2. Réponses: 9
    Dernier message: 03/10/2005, 14h28
  3. Démarrage difficile
    Par Lactaire dans le forum XMLRAD
    Réponses: 20
    Dernier message: 08/03/2005, 16h24
  4. [Windows XP][Démarrage]Démarrage automatique d'un programme
    Par Jean Claude90 dans le forum Windows XP
    Réponses: 5
    Dernier message: 02/03/2005, 12h55
  5. Lancer un programme au démarrage
    Par ludo_7 dans le forum Windows
    Réponses: 7
    Dernier message: 09/10/2003, 16h29

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