Bonjour,
Je suis en stage et je débute en VBA
Je dois mettre à jour un fichier en rajoutant dans un nouvel export certaines données de l'ancien export automatiquement car le fichier est mise à jour toute les semaines.
Voici à quoi ressemble les exports (c'est juste un exemple le document comporte plus de 30 colonnes.
Ancien
Référence......Nom............Prénom.............Email......... Poste...........Sexe.........Age
..........0.............Dupond...........Jacques.......dj@mail.com.....apprenti...........M..........22
..........1.............Dubois.............Pierre.........dp@mail.com.......salarié...........M..........40
..........2.............DuMoulin........Charles........dc@mail.com.......stagiaire........M..........20
Nouveau
Référence......Nom.......Sexe........Prénom..........Email.............Age
.......0..............Dupond........M.........Jacques.......dj@mail.com.........22
.......1..............Dubois........ M.........Pierre..........dp@mail.com.........40
.......2..............DuMoulin......M........Charles........dc@mail.com.........20
Le problème que je rencontre est que les colonnes des fichiers ne sont pas forcement au même endroit du coup pour ma RECHERCHEV je n'ai pas de numéro de colonne fixe.
Par exemple si j'effectue ma rechercheV dans l'ancien fichier l'âge se situe à la colonne 7 alors que le nouveau à la colonne 6 donc à la prochaine mise à jour la macro ne marche plus.
J'ai réussi à récupérer le numéro de la colonne mais je n'arrive pas à l'utiliser dans la RECHERCHEV à la place de no_index_col
Voici mon code
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 Dim Col As Integer Windows("ancien_export").Activate Col = Sheets("ancien_export").Rows(1).Find("Age", , , , xlByColumns, xlPrevious).Column 'récupérer le numéro de la colonne Windows("nouveau_export").Activate Range("TableauBMIR[Age]").Select ActiveCell.FormulaR1C1 =VLOOKUP([Référence],ancien_export.xlsx!Tableau,Col,FALSE)"
Utiliser "Col" à la place du numéro de colonne ne marche pas je ne vois pas trop comme faire
Merci d'avance pour votre aide
Partager