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 :

Fiche plusieurs demandes [XL-2003]


Sujet :

Macros et VBA Excel

  1. #1
    Membre confirmé
    Femme Profil pro
    Gestionnaire administrative
    Inscrit en
    Mars 2013
    Messages
    95
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Deux Sèvres (Poitou Charente)

    Informations professionnelles :
    Activité : Gestionnaire administrative
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2013
    Messages : 95
    Par défaut Fiche plusieurs demandes
    Bonjour tout le monde

    C'est la première fois que j'utilise les formulaires sous Excel. Au départ j'avais une ComboBox, il suffisait de sélectionner dans la liste la demande pour laquelle on souhaitait éditer une fiche détaillée. Seulement je dois maintenant faire en sorte que l'utilisateur puisse sélectionner plusieurs demandes afin d'éditer plusieurs fiches en format PDF. Pour les impressions PDF je sais faire en VBA ça ne devrait donc pas poser de problème.
    Pour une fiche j'ai ce code là (qui n'a pas été écrit par moi car en binôme pour ce projet).

    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
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    Private Sub EditionFicheValider_Click()
     
    Application.ScreenUpdating = False
    Sheets("Liste des demandes").Activate
     
    'récupérer le numéro de ligne correspondant au numéro de sinsitre
    Dim L As Integer
    Dim NomDemande2 As String
    NomDemande2 = NomDemandeRecherchée.Value
    L = Columns("D").Find(NomDemande2, LookAt:=xlWhole).Row
    Cells(1, 1).Activate
    Sheets("Fiche demande").Activate
     
    'effacer la fiche précédente
    Cells(2, 2) = ""
    Cells(3, 2) = ""
    Cells(4, 2) = ""
    Cells(6, 2) = ""
    Cells(7, 2) = ""
    Cells(2, 5) = ""
    Cells(5, 5) = ""
    Cells(12, 1) = ""
    Cells(20, 4) = ""
    Cells(21, 4) = ""
    Cells(22, 4) = ""
    Cells(25, 4) = ""
    Cells(25, 5) = ""
    Cells(26, 4) = ""
    Cells(26, 5) = ""
    Cells(28, 1) = ""
    Cells(28, 2) = ""
    Cells(28, 4) = ""
    Cells(29, 1) = ""
    Cells(29, 2) = ""
    Cells(29, 4) = ""
    Cells(30, 1) = ""
    Cells(30, 2) = ""
    Cells(30, 4) = ""
    Cells(31, 1) = ""
    Cells(31, 2) = ""
    Cells(31, 4) = ""
    Cells(32, 1) = ""
    Cells(32, 2) = ""
    Cells(32, 4) = ""
    Cells(33, 1) = ""
    Cells(33, 2) = ""
    Cells(33, 4) = ""
    Cells(34, 1) = ""
    Cells(34, 2) = ""
    Cells(34, 4) = ""
    Cells(34, 1) = ""
    Cells(34, 2) = ""
    Cells(34, 4) = ""
     
    'récupérer les données de la mission
    Cells(2, 2) = Worksheets("Liste des demandes").Cells(L, 4)
    Cells(3, 2) = Worksheets("Liste des demandes").Cells(L, 5)
    Cells(4, 2) = Worksheets("Liste des demandes").Cells(L, 6)
    Cells(5, 2) = Worksheets("Liste des demandes").Cells(L, 7)
    Cells(6, 2) = Worksheets("Liste des demandes").Cells(L, 10)
    Cells(7, 2) = Worksheets("Liste des demandes").Cells(L, 15)
    Cells(2, 5) = Worksheets("Liste des demandes").Cells(L, 8)
    Cells(5, 5) = Worksheets("Liste des demandes").Cells(L, 9)
    Cells(12, 1) = Worksheets("Liste des demandes").Cells(L, 11)
    Cells(20, 4) = Worksheets("Liste des demandes").Cells(L, 12)
    Cells(21, 4) = Worksheets("Liste des demandes").Cells(L, 13)
    Cells(22, 4) = Worksheets("Liste des demandes").Cells(L, 14)
    Cells(25, 4) = Worksheets("Liste des demandes").Cells(L, 16)
    Cells(25, 5) = Worksheets("Liste des demandes").Cells(L, 17)
    Cells(26, 4) = Worksheets("Liste des demandes").Cells(L, 18)
    Cells(26, 5) = Worksheets("Liste des demandes").Cells(L, 19)
     
     
    'récupérer les données événements
     
    ' Trier Les Evenements
     
    Sheets("Evenement").Activate
        Range("A:X").Sort Key1:=Range("D2"), Order1:=xlAscending, Key2:=Range( _
            "A2"), Order2:=xlAscending, Header:=xlGuess, OrderCustom:=1, MatchCase _
            :=False, Orientation:=xlTopToBottom, DataOption1:=xlSortTextAsNumbers, _
            DataOption2:=xlSortTextAsNumbers
        Range("A1").Select
    '
    '
     
    Dim L1 As Variant
    L1 = Columns("D").Find(NomDemande2, LookAt:=xlWhole).Row
     
    Dim i As Integer
    i = 30
        '
        Do While Cells(L1, 4).Value = NomDemande2
            Sheets("Fiche demande").Activate
            Cells(i, 1) = Worksheets("Evenement").Cells(L1, 1)
            Cells(i, 2) = Worksheets("Evenement").Cells(L1, 5)
            Cells(i, 3) = Worksheets("Evenement").Cells(L1, 6)
            Cells(i, 4) = Worksheets("Evenement").Cells(L1, 7)
            L1 = L1 + 1
            i = i + 1
            Sheets("Evenement").Activate
        Loop
     
    EditionFicheMission.Hide
    Sheets("Fiche demande").Activate
    Application.ScreenUpdating = True
    Cells(1, 1).Activate
     
    End Sub
    Je souhaite juste des éléments de départ : comment dire en code que si l'utilisateur sélectionne plusieurs demandes alors il faut qu'il remplisse la fiche (feuille Excel) avec les données de la 1ère demande concernée, qu'il édite en PDF, qu'il efface la fiche pour faire la suivante etc.

    Merci par avance !

  2. #2
    Inactif  
    Homme Profil pro
    Inscrit en
    Septembre 2012
    Messages
    1 733
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2012
    Messages : 1 733
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    If plusieursdemandes = true then
    'ton code
    'remetreablanc
    'ton code à nouveau
    Else
    'ton code
    end if
    Autant de possibilités que de façons se penser

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    while encoreuneautre = "oui"
    'ton code
    encoreuneautre = inputbox("une autre?")
    wend

  3. #3
    Membre confirmé
    Femme Profil pro
    Gestionnaire administrative
    Inscrit en
    Mars 2013
    Messages
    95
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Deux Sèvres (Poitou Charente)

    Informations professionnelles :
    Activité : Gestionnaire administrative
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2013
    Messages : 95
    Par défaut
    D'abord merci pour ta réponse.

    C'est bien la forme que je comptais donner à mon programme mais je ne sais pas comment traduire en VBA le "plusieursdemandes".

    Merci.

  4. #4
    Inactif  
    Homme Profil pro
    Inscrit en
    Septembre 2012
    Messages
    1 733
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2012
    Messages : 1 733
    Par défaut
    Tu as un userform: => un milliard de possibilités

    Tu mets un bouton valider la demande et un bouton valider et en rentrer une autre.

    Tu demandes auparavant combien de demandes vont être demandées

    Tu demandes après s'il veut en rentrer une autre

    Tu crees plusieurs zones dans ton USF pour chacune des demandes...

  5. #5
    Membre confirmé
    Femme Profil pro
    Gestionnaire administrative
    Inscrit en
    Mars 2013
    Messages
    95
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Deux Sèvres (Poitou Charente)

    Informations professionnelles :
    Activité : Gestionnaire administrative
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2013
    Messages : 95
    Par défaut
    Ben en fait j'ai changé ma combobox en listebox pour pouvoir sélectionner plusieurs demandes. Ensuite j'aimerai que les PDF se crééent chacun leur tour sans que l'utilisateur n'ai à intervenir de nouveau.

  6. #6
    Membre confirmé
    Femme Profil pro
    Gestionnaire administrative
    Inscrit en
    Mars 2013
    Messages
    95
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Deux Sèvres (Poitou Charente)

    Informations professionnelles :
    Activité : Gestionnaire administrative
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2013
    Messages : 95
    Par défaut
    Je clos celle-ci pour en faire une autre

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

Discussions similaires

  1. [OL-2010] Accepter plusieurs demandes de réunion en même temps
    Par jemore22 dans le forum Contribuez
    Réponses: 1
    Dernier message: 11/12/2013, 13h36
  2. Réponses: 22
    Dernier message: 08/10/2008, 14h40
  3. je veus plusieur Fiche MDI dans mon application
    Par HASSANAIT dans le forum Langage
    Réponses: 18
    Dernier message: 03/11/2005, 12h51
  4. [Thread]Comment créer plusieurs thread à la demande??
    Par Devil666 dans le forum Concurrence et multi-thread
    Réponses: 8
    Dernier message: 14/09/2005, 14h29

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