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 :

Modification feuille en VBA [XL-2010]


Sujet :

Macros et VBA Excel

  1. #1
    Membre averti
    Femme Profil pro
    Gestionnaire/Assistante de Direction un peu geek
    Inscrit en
    Juillet 2016
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 43
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Gestionnaire/Assistante de Direction un peu geek
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juillet 2016
    Messages : 13
    Par défaut Modification feuille en VBA
    Bonjour,

    Un fichier suivi contrat qui fonctionne de cette manière :

    on clique sur un bouton qui permet de créer un nouvel onglet depuis une base de données. Cette nouvelle feuille se présente comme un formulaire qui doit être rempli et une fois l'action terminée on appuie sur un bouton "valider" et les informations de cette fiche est reportées dans la base de données.

    J'ai donc réussi la partie création mais mon soucis c'est que je souhaiterai faire en sorte dans chaque onglet crée on peut modifier les informations et que cette modification se rapporte également dans la feuille base de données (le bouton "valider" se transforme, de manière automatique, par "modifier").

    Je vous joint mon fichier pour comprendre : Suivi Contrat.xlsm
    (en tout cas j'espère que je me suis bien exprimée )

  2. #2
    Membre Expert Avatar de jerome.vaussenat
    Homme Profil pro
    Formateur Bureautique
    Inscrit en
    Janvier 2011
    Messages
    1 629
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Formateur Bureautique
    Secteur : Enseignement

    Informations forums :
    Inscription : Janvier 2011
    Messages : 1 629
    Par défaut
    Salut,

    je te propose le code suivant :

    J'ai modifié la première procédure "Valider" de manière à changer l'action qui est effectué par le bouton.
    J'ai repris ton code pour faire la procédure de modification.

    Elle recherche dans la feuille "RECAP CONTRAT" la ligne concernée par le contrat et injecte les données dessus. Avec ton code.

    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
    Sub Valider()
     
        Set fr = Sheets("RECAP CONTRAT")
     
        Call VerifDesSaisies
        If flag = 1 Then Exit Sub
     
        'Report sur la feuille RECAP CONTRAT
        lgn = fr.Range("A" & Rows.Count).End(xlUp)(2).Row
     
        For i = 1 To 15
            adSource = Choose(i, "B3", "B7", "B9", "B13", "F11", "B11", "F16", "D11", "B16", "D16", "I16", "C34", "C37", "H11", "I3")
            adDest = Choose(i, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 23, 25)
            fr.Cells(lgn, adDest) = Range(adSource)
     
        Next i
     
        'modification de l'action affecté au bouton
        ActiveSheet.Shapes("Button 1").OnAction = "modifier"
     
        'suite de ta macro
        ActiveSheet.Name = Format(Range("B3"), "00") & "-" & Range("B7")
        fr.Range("A" & lgn) = Range("B3")
     
        MsgBox "Le contrat n°" & Format(Range("B3"), "00") & " est enregistré"
        Sheets("RECAP CONTRAT").Activate
     
     
    End Sub
    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
    Sub modifier()
        Dim c As Range
        Set fr = Sheets("RECAP CONTRAT")
     
        Call VerifDesSaisies
        If flag = 1 Then Exit Sub
     
        'détermination de la ligne de la feuille "Recap contrat" sur laquelle on doit répercuter les modif
        Set c = fr.Range("A:A").Find(Range("B3").Value)
        'Report sur la feuille RECAP CONTRAT
        lgn = c.Row
     
        For i = 1 To 15
            adSource = Choose(i, "B3", "B7", "B9", "B13", "F11", "B11", "F16", "D11", "B16", "D16", "I16", "C34", "C37", "H11", "I3")
            adDest = Choose(i, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 23, 25)
            fr.Cells(lgn, adDest) = Range(adSource)
     
        Next i
     
        MsgBox "Le contrat n°" & Format(Range("B3"), "00") & " est transféré"
        Sheets("RECAP CONTRAT").Activate
    End Sub
    En espérant que c'est bien ce que tu veux.

  3. #3
    Membre averti
    Femme Profil pro
    Gestionnaire/Assistante de Direction un peu geek
    Inscrit en
    Juillet 2016
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 43
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Gestionnaire/Assistante de Direction un peu geek
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juillet 2016
    Messages : 13
    Par défaut
    Bonjour,

    Merci beaucoup c'est exactement ce qu'il me fallait

    Merci encore

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

Discussions similaires

  1. Modifications feuilles CSS non prises en compte immédiatement
    Par brouce80 dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 10/08/2007, 15h40
  2. vba événement modification feuilles
    Par mistercool86 dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 13/06/2007, 18h12
  3. Modification feuille de style avec javascript
    Par Invité dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 17/05/2007, 18h39
  4. Comment renommer une feuille en VBA
    Par Jusomi31 dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 26/04/2007, 15h43
  5. Création d'une feuille en VBA
    Par baptbapt dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 21/07/2006, 14h23

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