Microsoft 365 Macro import

looky62

XLDnaute Occasionnel
Hello la teams,

J'ai 3 bugs qui me bloque ds mon projet!

Je souhaite rapatrié dans un onglet "source" un fichier nommer Export.csv afin de modifier des colonnes, mon fichier peut varier en nombre de lignes, actuellement 819 lignes, dans ma macro je mets 819 lignes que j'ai dans mon fichier extract, cela fonctionne, mais dès que j'ai un nombre différent ds mon export ça plante!!
1°) Qui a une astuce pr faire varier cette variable!
Range("A2").Select
Selection.AutoFill Destination:=Range("A2:A819")
Range("A2:A819").Select

2°) Je voudrais aussi créer un pop up qui m'indique que j'ai des nouvelles ref dans l'onglet "nouveau" qui m'inviterai a aller voir!

3°) Un autre bug, qd je lance ma macro une 2em fois, il me dit qu'il ne trouve pas mon fichier export! suite message box, je suis obliger de fermer et réouvrir pr que ça fonctionne!

Merci pour votre éclairage
 

Pièces jointes

  • Downloads.zip
    16 KB · Affichages: 5

chris

XLDnaute Barbatruc
Bonjour

Pourquoi VBA alors qu'un import fait par le bouton prévu
Données, A partir d'un fichier Txt/CSV
fait cela en intégrant automatiquement le bon nombre de lignes ?

De plus cela s'actualise si le fichier CSV évolue...
 

vgendron

XLDnaute Barbatruc
En PJ comme suggéré par Chris, l'importation du fichier est toute simple par Power Query

l'importation est effectuée dans la feuille "Importation"
si ton fichier export.csv change, il te suffit de faire un clic droit actualiser sur l'importation.
 

Pièces jointes

  • TEST MACRO VG-3.xlsm
    120 KB · Affichages: 3

vgendron

XLDnaute Barbatruc
Ici, j'ai modifié la requete "Importation" pour
supprimer la dernière colonne (c'est la meme que la première)
supprimer les lignes vides
supprimer le mot "ref:" dans la colonne A
et trier la colonne par ordre croissant
et l'importation se fait dans la feuille "Nouveau"

après.. faut voir (ou revoir) ce que tu souhaites faire de ces données
 

Pièces jointes

  • TEST MACRO VG-3.xlsm
    111.5 KB · Affichages: 1

looky62

XLDnaute Occasionnel
Ici, j'ai modifié la requete "Importation" pour
supprimer la dernière colonne (c'est la meme que la première)
supprimer les lignes vides
supprimer le mot "ref:" dans la colonne A
et trier la colonne par ordre croissant
et l'importation se fait dans la feuille "Nouveau"

après.. faut voir (ou revoir) ce que tu souhaites faire de ces données
je ne vois pas les modifs ds le fichier
 

vgendron

XLDnaute Barbatruc
@chris

à l'ouverture du fichier, un message demande le NNI
il s'agit du nom d'utilisateur
qui permet de créer le chemin: "c:\users\" &NNI &"\downloads\export.csv"

j'ai essayé d'utiliser ce chemin comme paramètre d'entrée (Chemin) pour Power Query pour qu'il aille chercher le fichier à ce chemin d'accès.. mais. je n'arrive pas à mettre ce paramètre dans la requette...
au lieu d'avoir cette première instruction
= Csv.Document(File.Contents("C:\Users\vince\Downloads\Export.csv"),[Delimiter=";", Columns=5, Encoding=65001, QuoteStyle=QuoteStyle.None])

je pensais pouvoir mettre
= Csv.Document(File.Contents(Chemin),[Delimiter=";", Columns=5, Encoding=65001, QuoteStyle=QuoteStyle.None])

Saurais tu me dire ce qu'il faut modifier? et comment


Je viens de trouver ici:
[URL unfurl="true"]https://accessanalytic.com.au/powerquery_namedcells_parameters/[/URL]
et notamment cette petite section:

IMPORTANT NOTE

For this to work you will need to change your privacy settings to “Ignore”, via Query Options > Privacy > Always ignore Privacy Level settings
 
Dernière édition:

vgendron

XLDnaute Barbatruc
@looky62
Quand tu ouvres le fichier excel
un message te demande ton NNI
celui ci est inscrit en B34 dans la feuille TDB
le chemin complet du Export;csv est inscrit par formule en C34

ce chemin est utilisé par power query pour aller chercher le fichier et l'importer dans la feuille "Nouveau"
à chaque fois que tu changes de NNI ou de fichier export.csv, il te suffit de faire un clic droit "Actualiser sur le tableau de la feulle Nouveau pour que la mise à jour se fasse
 

Pièces jointes

  • TEST MACRO VG-4.xlsm
    115.9 KB · Affichages: 0

looky62

XLDnaute Occasionnel
@chris

à l'ouverture du fichier, un message demande le NNI
il s'agit du nom d'utilisateur
qui permet de créer le chemin: "c:\users\" &NNI &"\downloads\export.csv"

j'ai essayé d'utiliser ce chemin comme paramètre d'entrée (Chemin) pour Power Query pour qu'il aille chercher le fichier à ce chemin d'accès.. mais. je n'arrive pas à mettre ce paramètre dans la requette...
au lieu d'avoir cette première instruction
= Csv.Document(File.Contents("C:\Users\vince\Downloads\Export.csv"),[Delimiter=";", Columns=5, Encoding=65001, QuoteStyle=QuoteStyle.None])

je pensais pouvoir mettre
= Csv.Document(File.Contents(Chemin),[Delimiter=";", Columns=5, Encoding=65001, QuoteStyle=QuoteStyle.None])

Saurais tu me dire ce qu'il faut modifier? et comment
Par contre mon fichier est destiné a terme a des novices d'excel, je crains que si on part dans powerquery ça se complique pr eux, y a t il moyen de faire différemment
 

vgendron

XLDnaute Barbatruc
En ce qui concerne Power Query, c'est totalement intégré à ta version d'excel (et donc probablement de tes collègues)

ils n'ont rien à faire de plus que cliquer sur un bouton
regarde en PJ: j'ai réorganisé tes macros

sur la feuille de départ: tu as
Bouton RAZ qui efface le feuilles Resultats et nouveau
Bouton GO: qui importe les fichiers de données (Export.csv et Lead1.xlxs)
et ensuite un bouton pour chaque cas

reste le bouton export:
 

Pièces jointes

  • TEST MACRO VG-4.xlsm
    93.7 KB · Affichages: 1

Hasco

XLDnaute Barbatruc
Repose en paix
Par contre mon fichier est destiné a terme a des novices d'excel,
Bonjour

Et il seront tout aussi novice en vba !
Vous avez excel 365 ne vous contentez pas d'une technologie dépassée ou en voie de l'être.
De plus "ils" savent certainement apprendre, à moins que ce soient des imbéciles .

[Edit] Oups j'avais oublié le bonjour, mais ce genre d'affirmation me fait bondir[/Edition]
 

Discussions similaires