copier les valeurs dans feuille correspondantes
#1
Débutant XLPages

Inscription: 07/02/2012

Messages: 1

Système d'exploitation:
PC
Version Excel utilisée:
2003
Posté le : 07-02-2012 09h17
Bonjour,

dans le fichier joint je voudrais reporter chaque inscription dans la feuille correspondante sans avoir de ligne vide
par avance Merci
Pièce jointe:
xls LISTE MODIFIE.xls   [ Taille: 14.50 Ko - Téléchargements: 344 ]
Hors Ligne
Rapport   Haut 

Re: copier les valeurs dans feuille correspondantes
#2
Accro XLPages

Inscription: 09/05/2007
De Courcelles-les-Montbéliard

Messages: 286

Système d'exploitation:
PC & Mac
Version Excel utilisée:
Mac 2004 - 2011, et PC 2003 - 2010
Posté le : 07-02-2012 22h58
Bonsoir Almele

Ci-joint un code que tu dois copier dans un module VBA.
Pour aller dans VBA appuye sur ALt+F11.
Pour ajouter un module clique sur le menu Insertion/Module dans la nouvelle fenêtre

Sub Macro1()
Dim I As Byte
Dim DerLgn As Long

'Suppression de l'actualisation de l'écran pendant l'exécution de la macro

    Application.ScreenUpdating = False
    'Activation de la feuille "inscrits"
    Worksheets("inscrits").Activate
    'Recherche de la dernière ligne de la base de données.
    'Correspond à faire un Ctrl+Shift du haut .End(xlUp)
    '.row retourne le numéro de la ligne trouvée
    DerLgn = Range("A65336").End(xlUp).Row
    'Boucle sur le nombre de feuilles que contient le classeur
    'la première feuille doit être la feuille 'inscrits"
    'la boucle commence à la valeur 2 par pas d'incrément 1
    For I = 2 To Sheets.Count
        'utilisation du filtre automatique, avec un critère
        'le critère correspond au nom de la feuille N° 2, 3 ... valeur en fonction de la valeur de la boucle
        Range("A2:E" & DerLgn).AutoFilter Field:=2, Criteria1:=Worksheets(I).Name
        'copy de la base filtrée sur la feuille N° 2, 3  .... etc
        Range("A3:E" & DerLgn).Copy Destination:=Worksheets(I).Range("A4")
        'Suppression des valeurs "voyages" copiées qui ne sont utiles
        With Worksheets(I)
            .Range("B4:B" & .Range("B65536").End(xlUp).Row).Delete Shift:=xlToLeft
        End With
        'Affichage de toutes les valeurs de la base de données de la feuille "inscrits"
        ActiveSheet.ShowAllData
    Next I
    'Suppression de l'utilisation des filtres automatiques
    Range("A2:E" & DerLgn).AutoFilter
    'Réactivation de l'actualisation de l'écran à la fin de la macro
    Application.ScreenUpdating = False
End Sub

Le principe du Code repose sur l'utilisation des filtres automatiques d'Excel, que l'on trouve dans le menu Données/Filtrer/filtre automatique.

Pour lancer l'exécution de la macro, Clique sur le menu Outils/Macro/Macros...
Dans la boîte de dialogue sélectionne dans la liste Macro1 puis clique sur le bouton Exécuter.

Tu peux aussi créer un bouton et affecter la macro au bouton.
Tutoriels n° 04 : Associer la macro à un bouton de la barre d'outils Formulaires ou à un objet Dessin

@+Jean-Marie 

PS : Chose importante. Pour que le code fonctionne, il faut que le nom des feuilles correspondent aux intitulés des données de la colonne "voyage".
Pièce jointe:
zip LISTE MODIFIEE.zip   [ Taille: 10.23 Ko - Téléchargements: 367 ]
Edité par JeanMarie le 08/02/2012 07:19:48
Hors Ligne
Rapport   Haut 


Vous pouvez voir les sujets.
Vous ne pouvez pas débuter de nouveaux sujets.
Vous ne pouvez pas répondre aux contributions.
Vous ne pouvez pas éditer vos contributions.
Vous ne pouvez pas effacez vos contributions.
Vous ne pouvez pas ajouter de nouveaux sondages.
Vous ne pouvez pas voter en sondage.
Vous ne pouvez pas attacher des fichiers à vos contributions.
Vous ne pouvez pas poster sans approbation.

[Recherche avancée]


Qui consulte actuellement ce sujet ?   1 Utilisateur(s) anonymes