Ecrasage de donnée liste box par erreur

Bonjour tous le monde,

Je viens vers vous avec une question peu commune (il me semble ). J'ai deux fichier Excel l'un source de données qui (maintenant) les exportent grâce à un bouton vers un deuxième fichier qui sert de dossier de stockage en quelque sorte.

Mettant récemment mis au VBA, je me suis dit pas bête la bête, tu pourrais te simplifier la vie avec un bout de code . Car avant de réaliser ce bouton de transfert, j'écrivais tout à la main dans le deuxième !! Du coup j'avais mis des liste de choix déroulantes pour me simplifier la vie avant l'apparition du bouton

Or ces liste déroulantes se font écraser (voir même remplacer par d'autre liste) lorsque j'exporte mes données.

Malheureusement, je ne sait pas pourquoi cela ce produit.

Mon code se présente sous la forme suivante:

Application.ScreenUpdating = False       'Permet de faire tourner la macro plus rapidement (je crois)
Chemin = "C:\Desktop\"            'Definition du chemin d'acces 
Fichier = "Test-Dosier-Reception.xlsm" 
Set Ws = Sheets("feuille source")             'Pour eviter de recopier tous le temps Sheet("feuille source")

With Workbooks.Open(Chemin & Fichier)     'Permet d'acceder a mon fichier de reception
        DerniereLigne = Range("B" & Rows.Count).End(xlUp).Row   'Identifie la dernière ligne du fichier a remplir
        With .Sheets("Feuil1")                             'Correspond à la feuille où les données sont copier
                Ws.Range("E9").Copy .Range("B" & DerniereLigne).Offset(1, 0)
                .Range("B" & DerniereLigne).Offset(1, 0).Interior.ColorIndex = 0
        End With
        .Close savechanges:=True
End With

Auriez vous une explication de pourquoi un code aussi rudimentaire entraine ce genre de bug ?

Merci par avance

Cordialement,

Guillaume

Bonsoir,

Tu colles ! Si tu colles un contenu avec liste déroulante, tu colles aussi la liste. Si tu colles sur la liste, elle n'y est plus...

Bonjour MFerrand,

Donc si je comprend bien au lieux de .copy, il faut que je mette .past ?

Y aurait il pas un moyen pour juste mettre la donnée sans pour autant supprimer la mise en forme du dossier de réception (sans supprimer les liste déroulante) ?

Cordialement

Guillaume


D'ailleur ce qui me surprend, c'est que les listes sont remplacer par d'autre en fait.

Par exemple en colonne F du fichier source j'ai une liste déroulante de produit. Ces données sont exporté en colonne E. est a ce moment, la liste de choix de la colonne E est remplacer par celle des pays.

Il en va de même pour toutes les autres (après vérifications) d'ailleurs

Ok je suis très C..

Je viens de changer l'ordre dans mon code (cf ci-dessous) est sa marche parfaitement !

Dsl MFerrand de t'avoir fait perdre du temps mais merci pour ton commentaire qui ma mis sur la voie

 .Range("B" & DerniereLigne).Offset(1, 0) = Ws.Range("E9") 

Des fois une simple modification du code fait toute la différence

Merci encore et bonne journée

Rechercher des sujets similaires à "ecrasage donnee liste box erreur"