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

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  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

+ 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