Copie données vers autre onglet suivant choix liste déroulante

Bonjour à tous,

J'ai bien fais le tour depuis quelques jours de tous les forums et malgré les bouts de codes VBA récupérés par ci par la, répondant à mon résultat souhaité, cela ne fonctionne pas comme je voudrais :/

Je m'explique:

j'ai un classeur, 2 onglets:

Onglet "Récapitulatif" j'ai une liste déroulante de villes en A1. De part ma sélection de la ville, j'ai besoin de reporter "de faire la copie" du contenu des deux cellules E4 et F4 qui résulte d'une saisie de donnée manuelle vers mon 2eme onglet "Base de donnée" vers (B2:B5) et (C2:C5)

J'ai commencé à tester le code ci dessous "qui ne doit pas être correct" d'autant plus qu'il faudrait que je puisse apporter le résultat par rapport au choix de ma liste .

Worksheets("Récapitulatif").Range("B2").Copy (Worksheets("Base de donnée").Range("B2:B5"))

Worksheets("Récapitulatif").Range("B2").Copy (Worksheets("Base de donnée").Range("C2:C5"))

Si vous pouviez m'aider, j'en serai ravi

Merci

12test-villes.xlsm (17.98 Ko)

Bonjour et bienvenue sur le fourm

Une macro est-elle bien nécessaire ?

Un essai avec formule.

Bye !

Bonjour Arnaud et le forum

Voici ma contribution

Cdt

Henri

12arnaud74-1.xlsm (22.74 Ko)

Bonjour et merci

Oui je pense que cela est nécessaire, car je souhaiterai à partir de mon onglet "Récapitulatif" saisir directement les données pour chaque ville afin que les infos puissent être directement enregistrées. Le rechercheV vient juste récupérer les infos, ce qui ne m’intéresse pas vraiment.

Dans le cas ou je souhaite aussi revenir modifier les données ultérieurement dans récapitulatif "habitants Hommes et Femmes" j'aimerai que que cela écrase directement la précédente saisie, d'ou la présence d'un bouton "modifier"

J’espère mettre bien expliqué

Merci

Bonjour Arnaud et le forum

Voici ma contribution

Cdt

Henri

Bonjour AFEH et merci pour ton retour

Malheureusement ce que tu me présente ne correspond pas au résultat souhaité

1) J'ai besoin de conserver les villes sons forme de liste est non sous forme déroulante, je parle pour l'onglet 'Base de donnée"

2) je pense qu'il y a un problème avec la macro , car les infos saisi dans Récapitulatif ne répliquent pas sur base de donnée malgré l'action sur le bouton: /

Merci

Bonsoir à tous,

Un exercice de style, à tester et peaufiner.

Cordialement.

8test-villes.xlsm (28.06 Ko)

Rebonsoir

Voici la version qui prend en compte l'existence ou non de la ville dans base de données.

je pense qu'il y a un problème avec la macro , car les infos saisi dans Récapitulatif ne répliquent pas sur base de donnée malgré l'action sur le bouton: /

Le bouton OK fonctionne normalement. Il faut bien valider la saisie en F4

Cdt

Henri

4arnaud74-2.xlsm (24.65 Ko)

Bonjour à tous,

Je vous remercie pour vos retours

@ZEBULON, la macro est fonctionnelle mais j'aimerai que le scénario soit plus celui ci : (si possible)

Choisir la Ville en B1 :liste établie en fonction de l'onglet "Villes"

Saisir les chiffres en E4 et F4

Les chiffres sont alors automatiquement mis à jours dans les cellules correspondantes à la ville de la liste dans la base de données

il faudrait pouvoir empêcher la création de nouvelle ligne afin que chaque saisie de E4 et FA remplace la précédente saisie qu'elle soit vide ou déjà complété

conservation de tes boutons "Valider, Efface, Saisi" PARFAIT

@AFEH, je pense qu'il ya un souci dans la macro, car lais saisies ne prennent pas effet dans la base de donnée sur la ligne de la ville concernée et malheureusement le bouton devient griser et inutilisable lors d'une deuxieme saisie

Juste une chose dont je n'avais pas penser, puis je mettre en place deux champs supplémentaires ? : "Date de saisie", qui affiche un calendrier dans la cellule et il suffit de choisir la date "j'ai lu qu'il n'était pas possible à réaliser avec un office en x64?

Et un champs "commentaires" ?

Merci Beaucoup pour votre temps

@AVEH, Je pense que la Macro déconne à la saisie des infos et a la réplication dans "BDD".

Chez moi, le bouton devient inactif après une première tentative de saisie :/

Merci

2test-villes-2.xlsm (27.87 Ko)

Bonjour,

Une version modifiée. A voir si cela répond en partie à tes besoins.

Cordialement.

4test-villes.xlsm (39.84 Ko)

Merci ZEBULON,

Les résultats apparaissant dans "Base de donnée" ne répondent pas vraiment au résultat souhaité.

Ton premier classeur était très bien, je le reprends dans ce commentaire

Exemple: nous saisissons le Nb Habitants Homme et Femme dans l'onglet récapitulatif en sélectionnant la ville souhaitée.

Nous retrouvons alors les informations dans l'onglet base de donnée" (chacune des villes à sa ligne fixe, les résultats s'adaptent par rapport à sa ville)

Si nous souhaitons Re modifier les valeurs des habitants à partir de "récapitulatif," je sélectionne par exemple:

"Bruxelles" qui a ou NON déjà des valeurs précédemment renseignées (Si valeurs présentes = je modifie les valeurs en validant par le bouton modifier ce qui écrase la précédente saisie (je n'ai pas besoin d'historique)

Concernant l'ajout des champs "date et observations" le principe de saisies est le même que pour les habitants.

Merci

5test-villes-2.xlsm (28.86 Ko)

Bonjour,

Je persiste et signe avec ma méthode. J'utilise Excel 2007.

J'ai modifié le bouton OK par une forme et mis mon code dans un module.

J'ai ajouté en G4 la saisie de la date et en H4 la saisie d'un commentaire.

Le tout est bien Transféré dans BDD.

Voici la version 3

Cdt

Henri

5arnaud74-3.xlsm (23.19 Ko)

Bonjour Henri,

Je te remercie pour le code qui correspond au résultat de mes attentes. est il possible d'avoir la réplication des données (Nb habitants, date et observations) lors de la recherche de la ville sur le 1er onglet ? en conservant évidement la possibilité de modifier = "écraser les données existantes" ?

Merci

Bonjour Arnaud,

Voici la version 4 avec les modifications demandées.

Cdt

Henri

8arnaud74-4.xlsm (24.77 Ko)

Henri, c'est Genial !

Une dernière question niveau codage :

Quel code puis je mettre en place afin que la la ville ne se mette pas en "vide" a chaque validation?

j'e pense que le code "If WsS.Range("B1") <> "" Then" est à modifié ? mais pas que :

Sub Test()
    Dim DerLigne As Long, ligne%
    Set WsS = Sheets("Récapitulatif") 'Feuille Source
    Set WsC = Sheets("Base de donnée") 'Feuille Cible
   If WsS.Range("B1") <> "" Then
        With WsC
         If .Range("A:A").Find(WsS.Range("B1")) Is Nothing Then
            DerLigne = .Range("A" & Rows.Count).End(xlUp).Row + 1
            .Range("A" & DerLigne) = WsS.Range("B1")
            .Range("B" & DerLigne) = WsS.Range("E4")
            .Range("C" & DerLigne) = WsS.Range("F4")
            .Range("D" & DerLigne) = CDate(WsS.Range("G4"))
            .Range("E" & DerLigne) = WsS.Range("H4")
         Else
            ligne = .Range("A:A").Find(WsS.Range("B1")).Row
            .Range("B" & ligne) = WsS.Range("E4")
            .Range("C" & ligne) = WsS.Range("F4")
            .Range("D" & ligne) = WsS.Range("G4")
            .Range("E" & ligne) = WsS.Range("H4")
         End If
        End With
     [b]WsS.Range("B1,E4:H4") = ""[/b]
     MsgBox ("Enregistrement pris en compte.")
     Else
        MsgBox ("Opération impossible, aucune ville n'a été saisie.")
     End If

End Sub

Merci

Bonjour Arnaud

Voici une version5 avec la modification demandée.

En plus, une méthode avec appel d'un formulaire, qui me parait plus facile d'utilisation.

La date en G4 se fait avec le calendrier qui apparait en faisant un double-clic dans cette cellule.( Merci au forum qui m'a permis de trouver cette pratique).

Dans le formulaire, le calendrier apparait en cliquant sur "Cal".

A découvrir.

Cdt

Henri

13arnaud74-5.xlsm (61.73 Ko)

Bonjour Henri,

Je ne te remerciais jamais assez pour le temps que tu me consacre.

Cette 5ème version est génial!

Le résultat du calendrier dans la cellule, limite les erreur de saisi et néanmoins les erreurs de frappes c'est super.

Je ne pense pas mettre en application la "méthode formulaire bien que je la trouve très utile. mais je me la garde de coté

Penses tu qu'il soit possible de mettre plutôt en place ce scénario:

Lors du choix de la ville, je souhaiterai que les données soient toujours visibles dans les champs "Date" et "Commentaire" même après avoir fait un GO pour appliquer les modifications, et de fait il suffirait de cliquer sur le bouton "Réinitialiser" pour pouvoir vider tous les champs y compris la Ville "un peu comme ce que fait initialement le "GO" ?

Merci à toi

Arnaud

2arnaud74-4-1.xlsm (27.82 Ko)

Rebonjour,

Je ne sais pas si c'est exactement cela que tu veux, mais...

Comme les cellules "Date" et "Commentaires" sont alimentées par la fonction RECHERCHEV, on ne peut donc pas modifier les données dans ces 2 cellules sans effacer la fonction, c'est pourquoi j'ai créé les cellules E8 et G13.

J'ai remis la saisie de la date avec double-clic en E8 pour afficher le calendrier. (c'était une demande dans ton projet initial).

Cdt

Henri

Bonjour Henri,

Merci pour cette nouvelle version.

Je ne retrouve pas le code dans la macro qui empêche la ville de se réinitialiser systématiquement à chaque pression du bouton "GO" ?

Merci

en fait tout bêtement en modifiant les valeurs de :

WsS.Range("E4:H4,E8,G12") = ""

Bonjour Henri, Bonjour à tous,

Henri, j'ai pu récupérer tes bouts de codes sans pouvoir faire ce que je veux au final

Je remets le fichier avec la proposition que tu m’avais fait précédemment, avec le bouton "méthode formulaire" qui comme tu l'a dit est celle qui répond le plus à mes attentes.

J'ai ajouté un commentaire au fichier afin de m'expliquer au plus claire

"-Cliquer sur "Méthode Formulaire" , un formulaire apparait qui permet de:

Modifier les données Habitants hommes, habitants femmes de la ville résultant automatiquement de la sélection de "B1"

Pour ce qui est des autres données tels que : "Date initiale" et commentaire, j'adapterais en fonction de ce que tu pourrais mettre en place les champs "habitants homme et femmes"

Encore une fois j'esaye de m'expliquer le plus clairement pour me faire comprendre, mais bon sang, c'est pas toujours évident pour les autres

Merci par avance

Arnaud

5arnaud74-5-3.xlsm (58.75 Ko)
Rechercher des sujets similaires à "copie donnees onglet suivant choix liste deroulante"