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 :

Macro pour sortir une ligne d'une base de donnée, la modifier et la réintégrer à sa place.


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Retraité
    Inscrit en
    Novembre 2016
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2016
    Messages : 7
    Par défaut Macro pour sortir une ligne d'une base de donnée, la modifier et la réintégrer à sa place.
    Bonjour

    J'ai une base de donnée client sous excel
    Je souhaiterai avoir une macro qui me permettrait de sortir une ligne de cette base, la modifier et la réintégrer ainsi modifiée
    Merci de vos compétences et de votre coopération

    Jacques

  2. #2
    Expert confirmé

    Homme Profil pro
    Curieux
    Inscrit en
    Juillet 2012
    Messages
    5 169
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Curieux
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2012
    Messages : 5 169
    Billets dans le blog
    5
    Par défaut
    Bonjour,

    qu'appelles-tu "la sortir" ?

    Tu veux afficher chaque champs de la ligne, pouvoir modifier selon tes souhaits, et que les modifications soient intégrées à ta feuille de données ?

    Où doivent s'afficher les informations cette ligne ? Userform ? Autre feuille ?

    Un peu de description, et une copie des codes VBA entrepris, aideraient grandement à t'apporter rapidement une proposition.

  3. #3
    Membre averti
    Inscrit en
    Novembre 2007
    Messages
    33
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 33
    Par défaut
    En effet, ça manque d'informations là...

    De base, je peux te dire que tu as besoin d'une colonne index (qui ne comporte donc aucun doublon). Ce qui te permettra de programmer une macro de recherche de valeur sur cette colonne de valeur index
    Si je n'ai pas d'index, ce que je fais en générale, je crée une nouvelle colonne qui est la concaténation de 2 ou 3 colonnes. Pour cela, une simple formule ajoutée à la première colonne vide du tableau suffira.

    Ensuite, tu devras créer une nouvelle feuille (ou un formulaire) dans lequel tu renseigneras la valeur à rechercher.
    Tu ajoutes un bouton à cette feuille qui lancera une macro de recherche de la valeur à rechercher renseignée.

    Le code devrait ressembler à quelque chose du genre :

    dernière_ligne_donnee = feuil1.Cells.Find(what:="*", SearchDirection:=xlprevious).row
    For i = 1 to dernière_ligne_donnee
    If Feuil1.Cells(i,1) = valeur_a_rechercher Then
    Modif 1
    Modif 2
    ....
    End If
    Next i

    Ma réponse est très sommaire mais ta demande aussi.

    Bon courage

  4. #4
    Expert confirmé
    Avatar de MarcelG
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2009
    Messages
    3 449
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2009
    Messages : 3 449
    Billets dans le blog
    7
    Par défaut
    Bonjour,

    Ouh là!

    Une fois la dernière ligne de recherche définie, la méthode "Find" suffit.
    Les données peuvent alors alimenter un formulaire, être modifiées; et retournées vers la feuille de travail par l'activation d'un bouton de commande.
    Non?

    Pour ce faire, il suffirait que notre ami nous retourne un exemplaire de fichier en précisant le champ à rechercher et un projet de formulaire.

  5. #5
    Nouveau membre du Club
    Homme Profil pro
    Retraité
    Inscrit en
    Novembre 2016
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2016
    Messages : 7
    Par défaut Quelques précisions
    PROSPEC.xlsx

    Re bonjour Voilà mon fichier actuel, désolé

    Je souhaite donc sélectionner une société
    Les données s'affichent dans le tableau de gauche
    Si je souhaite modifier un ou plusieurs éléments de la fiche, ça sera dans le tableau de Droite
    J'appuie sur le bouton MODIFICATION
    Enregistrement des nouvelles données dans la base de donnée ( feuille BASE CLIENT)

    J'espère avoir été assez clair, sinon, merci de me le dire

    MERCI pour vos connaissances et votre coopération.

  6. #6
    Expert confirmé
    Avatar de MarcelG
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2009
    Messages
    3 449
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2009
    Messages : 3 449
    Billets dans le blog
    7
    Par défaut
    Salut,

    Je ne vois pas à quoi sert ta feuille "RECHERCHE"
    Il te suffit de
    - Alimenter une zone de liste modifiable (Combobox) dans un formulaire (Userform)
    - Activer un bouton de commande qui importe les données de ta feuille principale dans ce formulaire
    - Modifier ces données dans ton formulaire (Textbox)
    - Activer un 2ème bouton qui mette à jour ta feuille principale "BASE CLIENTS"

    D'autre part, qu'entends-tu par "Société"?
    Confirmes-tu qu'il s'agit des cellules de ta feuille figurant en colonne B (CLient)?

    Dans ce cas, une difficulté consisterait dans la gestion des doublons.
    D'après ce que je vois, une société (Client) peut avoir plusieurs contacts (exemple "PERENCO")
    Au demeurant, on peut alors envisager 2 Combobox en cascade.

    A plus

  7. #7
    Nouveau membre du Club
    Homme Profil pro
    Retraité
    Inscrit en
    Novembre 2016
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2016
    Messages : 7
    Par défaut
    Citation Envoyé par MarcelG Voir le message
    Salut,

    Je ne vois pas à quoi sert ta feuille "RECHERCHE"
    Il te suffit de
    - Alimenter une zone de liste modifiable (Combobox) dans un formulaire (Userform)
    - Activer un bouton de commande qui importe les données de ta feuille principale dans ce formulaire
    - Modifier ces données dans ton formulaire (Textbox)
    - Activer un 2ème bouton qui mette à jour ta feuille principale "BASE CLIENTS"

    D'autre part, qu'entends-tu par "Société"?
    Confirmes-tu qu'il s'agit des cellules de ta feuille figurant en colonne B (CLient)?

    Dans ce cas, une difficulté consisterait dans la gestion des doublons.
    D'après ce que je vois, une société (Client) peut avoir plusieurs contacts (exemple "PERENCO")
    Au demeurant, on peut alors envisager 2 Combobox en cascade.

    A plus
    Oui Société est bien la colonne B
    Je souhaite garder cette présentation car par après, il y aura d'autre feuille avec chaque fois un tri différent (choix du chef !!)
    Userform ? Textbox ?
    Les doublons seront traités ultérieurement probablement ici d'ailleurs (lol)
    Merci pour ton aide

  8. #8
    Expert confirmé
    Avatar de MarcelG
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2009
    Messages
    3 449
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2009
    Messages : 3 449
    Billets dans le blog
    7
    Par défaut
    Oui, mais comment vas-tu gérer es sociétés qui ont plusieurs contacts.
    Il te faut bien choisir le contact à modifier!

    D'autre part, je ne vois pas en quoi le formulaire est un handicap. Au contraire!
    Il suffira d'adapter le code.

    De plus, les données anciennes et nouvelles peuvent très bien apparaître dans un formulaire.

Discussions similaires

  1. Réponses: 3
    Dernier message: 18/01/2015, 18h30
  2. [WD18] Metre une colonne d'une Table sur une ligne d'une autre Table
    Par Totophe2 dans le forum WinDev
    Réponses: 2
    Dernier message: 22/11/2013, 12h58
  3. Macro pour grouper des lignes sur une plage qui peut varier
    Par RichRich59 dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 26/01/2011, 13h04
  4. Macro pour grouper des lignes sur une plage qui peut varier
    Par girardinho dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 26/07/2010, 09h43
  5. Réponses: 4
    Dernier message: 15/10/2009, 13h33

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