Copier des données dans un fichier modèle

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

nakadon

XLDnaute Occasionnel
Bonsoir,

J'ai un fichier Excel « Liste » et un autre fichier « FinMois ».

Dans chaque fichier, je crée chaque mois un onglet correspondant aux données du mois.
Pour un mois donné, les données sources se trouvent dans le fichier Liste d'où je dois extraire uniquement quelques informations pour créer le mois correspondant dans le fichier « FinMois » (au format indiqué dans l'exemple). Ne figure dans « FinMois » que les personnes avec OUI dans la colonne « valeur » du fichier « Liste ».

Ma question est la suivante, est-ce qu'il est possible par macro de créer automatiquement le mois correspondant dans « FinMois » depuis « Liste » en cliquant sur un bouton par exemple ?


Merci d'avance pour votre aide.
 

Pièces jointes

Dernière édition:
Re : Copier des données dans un fichier modèle

J'ai essayé, mais ça ne marche pas !
En effet le problème est un peu plus compliqué (enfin, pour moi).
Quand je suis dans le fichier "Liste", pour un mois donné, je souhaite créer automatiquement l'onglet de ce mois dans la feuille "FinMois" si l'onglet n'existe pas. De plus, il ne s'agit pas de copier toute la ligne, uniquement quelques informations pour les lignes qui ont un "OUI" dans la colonne "valeur" (voir exemple ci-dessus).

Si vous pouvez m'aider
Merci d'avance.
 
Dernière édition:
Re : Copier des données dans un fichier modèle

Bonsoir Nakadon,

Je te propose éventuellement de passer par des formules (les onglets ne se créeront pas automatiquement) mais au moins tu n'auras qu'à recopier les formules.

Imbriquer une formule SI et index equiv ou RechercheV devrais faire l'affaire en attendant qu'un connaisseur en VBA te donne le code approprié 🙂

@+
 
Re : Copier des données dans un fichier modèle

salut,
a essayer :
Code:
Sub cartman()
Application.ScreenUpdating = False
'on commence a remplir l onglet fin de mois a partir de la troisieme lignes
j = 3
Sheets("Feuil2").Select
'on habille le tableau pour la fin de mois
Cells(j, 1) = "N°"
Cells(j, 2) = "Nom"
Cells(j, 3) = "Prenom"
Cells(j, 5) = "nature Test"
Cells(j, 6) = "Observation"
Cells(j, 7) = "Heure"

'on parcours notre liste de n°1
Sheets("Feuil1").Select
For i = 2 To Range("A65536").End(xlUp).Row
'on test si la valeur est oui
    If Cells(i, 6) = "OUI" Then
        'si c est oui on applique le truc que l on veut
        Sheets("Feuil1").Select
        'on récupere les info
        num = Cells(i, 1)
        nom = Cells(i, 2)
        pren = Cells(i, 3)
        nat = Cells(i, 4)
        obs = Cells(i, 5)
        heur = Cells(i, 7)
        'je me met sur la feuille 2 pour faire la fin du mois
        Sheets("Feuil2").Select
        'on remet les donnés ici j est l indice des lignes de la feuilles mois
        j = j + 1
        Cells(j, 1) = num
        Cells(j, 2) = nom
        Cells(j, 3) = pren
        Cells(j, 4) = nat
        Cells(j, 5) = obs
        Cells(j, 6) = heur
        Total_h = Total_h + heur
        Cells(j, 7) = Cells(j, 6) * 5.25
        total_m = total_m + Cells(j, 7)
    End If
    Sheets("Feuil1").Select
    'nombre de personne a payer = j -3 car on a initialise j à 3
    nb_personne = j - 3
Next i
Sheets("Feuil2").Select
'on met le reste apres
j = j + 1
'total
Cells(j, 5) = "total"
Cells(j, 6) = Total_h
Cells(j, 7) = total_m
Cells(j + 3, 1) = "Nombre de personne " & nb_personne

Application.ScreenUpdating = True
End Sub
Apres à toi de t amuser pour le faire à ta guise !! mettre du gras des couleurs en fct de l evaluation du nombre d heure du montant ....


ps : j ai considéré la liste sans doublons, si un doublons se présente il est traité comme un nouveau !!
 

Pièces jointes

Dernière édition:
Re : Copier des données dans un fichier modèle

Bonsoir

suistrop
Histoire d'avoir moins de lignes dans le code, une suggestion :
Code:
j = 3
Sheets("Feuil2").Range(Cells(j, 1), _
Cells(j, 7)) = _
Array("N°", "Nom", "Prenom", " ", "nature Test", "Observation", "Heure")

A+
 
Re : Copier des données dans un fichier modèle

Magnifique pour le filtre avec "OUI" dans la colonne valeur, ça marche.

Par contre comment faire pour que le résultat soit plutôt dans un autre classeur "FinMois.xls" par exemple et non dans un onglet du même classeur.
Je n'arrive pas à réaliser cette opération.

D'avance merci.
 
Dernière édition:
Re : Copier des données dans un fichier modèle

Bonjour à tous
Code:
Sub Macro1()
    ActiveSheet.Move
End Sub
crée un nouveau classeur contenant uniquement la feuille active au moment de l'exécution du code.
C'est un début...​
Bonne journée !
ROGER2327
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
5
Affichages
434
Réponses
40
Affichages
1 K
Réponses
4
Affichages
138
Retour