Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Microsoft 365 Transfert ligne par ligne

  • Initiateur de la discussion Initiateur de la discussion Scorpio
  • Date de début Date de début

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 !

Scorpio

XLDnaute Impliqué
Bonjour à tous,
Dans ce classeur, Feuil1 je transfert ligne par ligne, si dans la colonne "H" y figure le mot "Payé", transfert dans la feuil2.
Le souci, c'est que le code transfert aussi la liste déroulante.
Mais, je n'arrive pas et je suis pas champion comme vous, pour corriger le code, et, j'aimerais bien que ce code ne transfert pas la liste déroulante, mais seulement la valeur.
Voilà, je vous remercie d'avance pour votre aide, et A++++
 

Pièces jointes

Bonjour,

Remplacer MaPlage.Copy Destination par ces deux lignes, seules les valeurs seront copiées.
VB:
MaPlage.Copy
Destination.PasteSpecial xlPasteValues

S'il faut passer également les formats, rajouter la ligne: Destination.PasteSpecial xlPasteFormats

Bon après
 
Re, Roblochon
J'ai ajouter en bas du code un Tri, sélectionné sur la colonne Date du plus ancien au plus récent,
Mais, lors du transfert, la plage dans la feuil1 reste sélectionnée, et je trouve pas mon erreur.
Pourriez vous s'il vous plaît m'informer ??
A+++ merci
 

Pièces jointes

Re bonjour,

Pour la sélection c'est l'objet .Sort de la feuille qui entraîne cela, il faut soit séléctionner autre chose soit employer la méthode sort de l'objet range.
C'est ce que j'ai fait dans le fichier joint. J'ai également refait et commenter la macro de copie/suppression des lignes 'Payé'.

J'ai séparer la macro d'export des lignes de celle de tri. Il est toujours plus facile de debugger une macro chargée d'une seule fonction. De plus vous pourrez avoir besoin de la fonction de tri des exports dans d'autre macros.

Bonne consultation
 

Pièces jointes

Re bonjour,
Merci beaucoup, super,
J'ai juste une question sur le tri en colonne "G", si je veux l'ordre du plus petit en haut et le plus grand en bas je change par
Order:=xlAscending, mais ca marche pas
 
Re,

Alors utilisez :
VB:
Sub TrierExport()
    Dim plg As Range
    Set plg = Worksheets("Feuil2").Range("A1").CurrentRegion
    With plg.Parent.Sort
        With .SortFields
            .Clear
            .Add Key:=plg.Columns(7), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
        End With
        .SetRange plg
        .Header = xlYes
        .MatchCase = False
        .Orientation = xlTopToBottom
        .SortMethod = xlPinYin
        .Apply
    End With
End Sub

Bonne soirée
 
re bonsoir,

La méthode sort de l'objet range écrite comme ceci semble mieux fonctionner:

VB:
Sub TrierExport2()
    With Worksheets("Feuil2")
        .Range("A1").CurrentRegion.CurrentRegion.Sort Key1:=.Range("G2"), order1:=xlAscending, Header:=xlYes, dataoption1:=xlSortNormal
    End With
End Sub
A vous de choisir celle que vous préférez des deux méthodes.
Cordialement
 
Re, Roblochon.
J'ai opté pour le code du fil #8
Super, magnifique, c'est suzper gentil de votre aide
J'en ai fini avec ce souci, Vous souhaite une bonne soirée et très bon weekEnd
Encore merci
A+++
 
- 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

  • Question Question
Microsoft 365 INDEX equiv
Réponses
1
Affichages
141
Réponses
12
Affichages
409
Réponses
19
Affichages
618
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…