Transfert de données entre onglets

as2coeur

XLDnaute Nouveau
Bonjour,

je sollicite vos connaissances en matière de VBA pour m'aider à réaliser un fichier de suivi.

j'avais quelques notions dans ce domaine mais je pêche car n'ayant plus pratiquer depuis près de 2ans , je suis un "peu beaucoup" perdue...

j'ai commencer un bout de code mais je suis mal partie dans ma démarche.


vous trouverez ci-après ma problématique pour recenser mensuellement les adhérents à une association.


Etape A : Compléter les tableaux et transférer les données.

1 - chaque mois l'utilisateur remplira son tableau (le nombre de ligne peut varier).

2 - puis chaque mois, en cliquant sur un bouton "rappatrier" je vais transferer les données du mois fraîchement complété vers la feuille "Total Year".

PB 1 : mettre un bouton "rappatrier" dans l'onglet "summary" et choisir dans une liste déroulante le mois à rappatrier. est ce possible?

PB 2 : comment éviter qu'un mois soit ajouté 2 fois. En effet étourdie, je peux sélectionner 2 fois le même mois et cliquer sur rappatrier. Solution faire apparaitre une croix dans une cellule lorsque le mois a été rappatrié? est ce possible?




Etape B : Extraire automatiquement de la feuille "Total Year" et les placer dans les onglets appropriés.
1- en fonction du mois sélectionné et selon la mention indiquée en colonne "L" (0-6 months, 6-12 months, 12-18 months), je souhaiterai copier les données de la feuille "Total Year" vers les bons onglets.


j'ai essayé de trouvé quelque chose dans les archives pour m'en inspirer mais en vain.


Par avance merci pour votre aide.

Juliette
 

Pièces jointes

  • test transfert donnees.zip
    12.2 KB · Affichages: 31

ChTi160

XLDnaute Barbatruc
Re : Transfert de données entre onglets

Salut juliette Lol
bonsoir le Forum
voila je pense la premiere partie de la demande réglée
transfere du mois sélectionné dans la feuille Total Year (sans possibilité de recopie ensuite )
Le fichier :
je ne comprends pas cette partie de la question???????????
Etape B : Extraire automatiquement de la feuille "Total Year" et les placer dans les onglets appropriés.
1- en fonction du mois sélectionné et selon la mention indiquée en colonne "L" (0-6 months, 6-12 months, 12-18 months), je souhaiterai copier les données de la feuille "Total Year" vers les bons onglets.
dans l'attente d'explications

Bonne fin de Soirée
 

as2coeur

XLDnaute Nouveau
Re : Transfert de données entre onglets

Bonsoir,

je suis bluffée... je ne m'attendais absolument pas à une réponse -positive- aussi rapidement... : le temps de rentrer à la maison et pouf une réponse! Merci Jean-Marie.

la 1ère partie s'est exactement ce que je souhaite... sans faire de l'excès de zèle, je trouve ça incroyable lorsque tout s'articule comme par magie.

pour la 2ème partie, je vais essayer d'être plus clair.
en fait je souhaiterai ajouter un bouton dans l'onglet "summary". Ce bouton permettra en fonction du mois choisi dans la liste déroulante d'envoyer les lignes de la feuille "Total Year" dans le bon onglet (en fonction des données de la colonne "L").

il se fait tard, je me rend compte que je ne suis pas si clair que cela... :)

Juliette
 

as2coeur

XLDnaute Nouveau
Re : Transfert de données entre onglets

Bonjour Jean-Marie, le Fil et le Forum...

:)

on peut dire que la journée commence bien : en 2 coup de cuillère à codes, tu as résolu ma problématique.
encore MERCI.

je vais de ce pas analyser le code et comprendre son déroulement (Merci pour les commentaires).



puis-je tout de même me permettre de formuler une modification?!

lors l'étape B (transfert des données vers les onglets "0-6months" ; "6-12 months" et "12-18 months"), je me suis mal expliquée.
En utilisant ton fichier et le code réalisé tel quel, toutes les données sont tranférées dans les 3 onglets respectifs (= les données de tous les mois).

cela dit, je conserve cette option à laquelle je n'avais pas pensé : tout transférer.

toutefois, peut-on sélectionner dans la feuille "Total Year" le mois que je souhaite "dispatcher" dans les 3 onglets. Petite indication mais combien importante que je n'avais pas mentionnée : la colonne 1 fait référence à la date (format "mmmm" en anglais).

Jean-Marie, si tu as le temps de jeté un oeil sur cette dernière problématique, je t'en remercie d'avance.

Juliette.
 

ChTi160

XLDnaute Barbatruc
Re : Transfert de données entre onglets

re Juliette
Le Fil
je ne comprends pas????
tu dis
En utilisant ton fichier et le code réalisé tel quel, toutes les données sont tranférées dans les 3 onglets respectifs (= les données de tous les mois).
non seules les données prises dans la feuille mois sélectionnée dans la feuille Summary sont transférées dans les feuilles month
si tu pouvais mettre un exemple de ton fichier sans données confidentielles(quelques lignes) cela facilite la compréhension et évite de devoir tout recalculer Lol

merci d'avance
Bonne journée :confused:
 

as2coeur

XLDnaute Nouveau
Re : Transfert de données entre onglets

Jean-Marie,

en fait, lorsque je sélectionne janvier et que je clique sur rappatrier :
- les données de la feuille janvier viennent dans l'onglet Total Year : c'est parfait
- les données selon la condition "0-6" "6-12" "12-18" se répartissent dans les bons onglets : c'est parfait.

Puis lorsque je sélectionne février et que je clique sur rappatrier :
- les données de la feuille viennent s'ajouter sous les données de la feuille Total Year : c'est parfait
- les données selon la condition "0-6" "6-12" "12-18" se répartissent dans les bons onglets mais s'ajoutent aux données de janvier : le hic est ici. en effet, il faudrait que les nouvelles données écrasent/effacent les valeurs précédentes dans les 3 onglets.
etc...

peut-on imaginer un bouton "répartir" qui permettrait en fonction du mois sélectionné, envoyer les lignes dans le bon onglet en écrasant les données présentes dans ces onglets?

Merci encore pour l'aide que tu m'apportes.

Juliette
 

as2coeur

XLDnaute Nouveau
Re : Transfert de données entre onglets

Bonjour Jean-Marie, le Fil, le Forum...

j'ai essayé de trouver une astuce pour réaliser ce qui suit :

Puis lorsque je sélectionne février et que je clique sur rappatrier :
- les données de la feuille viennent s'ajouter sous les données de la feuille Total Year : c'est parfait
- les données selon la condition "0-6" "6-12" "12-18" se répartissent dans les bons onglets mais s'ajoutent aux données de janvier : le hic est ici. en effet, il faudrait que les nouvelles données écrasent/effacent les valeurs précédentes dans les 3 onglets.
etc...

peut-on imaginer un bouton "répartir" qui permettrait en fonction du mois sélectionné, envoyer les lignes dans le bon onglet en écrasant les données présentes dans ces onglets?



j'ai mis ce bout de code avant de lancer la "Sub Traite_months()":

Sheets("0 - 6 months").Select
Rows("8:8").Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Delete Shift:=xlUp
Range("A8").Select

Sheets("6 - 12 months").Select
Rows("8:8").Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Delete Shift:=xlUp
Range("A8").Select

Sheets("12 - 18 months").Select
Rows("8:8").Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Delete Shift:=xlUp
Range("A8").Select

Sheets("Total Year").Select


mais ce n'est pas très académique... :p

Si tu as une meilleure solution, je prends...

Bonne journée,

Juliette
 

as2coeur

XLDnaute Nouveau
Re : Transfert de données entre onglets

Salut Jean-Marie,

et hop, le tour est presque joué.

force est de reconnaitre que le code que tu as réalisé/modifié est plus mieux-bien que "le pauvre malheureux mien".

on y arrive presque au bout Jean-Marie. Cela fonctionne très bien, le principe est respecté sauf (comme dans toutes les aventures il y a toujours un sauf ;) ) que si pour un mois donné, il n'y a pas l'un des critères ("0-6 months" "6-12 months" "12-18 months") lors du transfert des données, les données précédemment chargées demeurent... (exemple lorsque nous transférons les données de mars, il demeure dans l'onglet "6-12", les données de février...).



aussi, j'ai eu la bonne idée de créer un bouton pour réinitialiser les feuilles de réception où les données sont réparties en :
- supprimant les données de "Total Year"
- supprimant le mot "transféré" de la cellule de chaque onglet de mois.

---> svp, interdiction de rire sur mon code :D

Juliette
 

Pièces jointes

  • test transfert donneesV4.zip
    16.5 KB · Affichages: 44

ChTi160

XLDnaute Barbatruc
Re : Transfert de données entre onglets

Salut Juliette
bonsoir le il
Bonsoir le Forum

arff avant dodo
sache qu'ici on ne rigole pas de ceux qui osent et tentent.
Voila ce que j'ai mis pour remplacer ta procèdure
Code:
[SIZE=1]Sub réinitialiser()[/SIZE]
[SIZE=1]Dim MyArray As  Variant[/SIZE]
[SIZE=1]Dim i As Byte[/SIZE]
[SIZE=1]MyArray = Array("january", "february", "march", "april", "may", [/SIZE][SIZE=1]"june", "july", "august", _[/SIZE]
[SIZE=1]                                                     "september","octo[/SIZE][SIZE=1]ber", "november", "december")[/SIZE]
[SIZE=1]With WorSheets("Total Year")[/SIZE]
[SIZE=1]    .Range(.Cells(8, 1), .Cells(.Cells(65536, 1).End(xlUp).Row + 1, 21).ClearContents[/SIZE]
[SIZE=1]End With[/SIZE]
 
[SIZE=1]For i = 0 To UBound(MyArray, 1)[/SIZE]
[SIZE=1]  Worksheets(MyArray(i)).Range("IV1").ClearContents[/SIZE]
[SIZE=1]Next[/SIZE]
[SIZE=1]End Sub[/SIZE]
Bonne nuit ;)
 
Dernière édition:

Discussions similaires

Réponses
45
Affichages
1 K

Statistiques des forums

Discussions
312 216
Messages
2 086 344
Membres
103 193
dernier inscrit
tedelio