XL 2010 Mise à jour de données par vba (résolu)

miliev83

XLDnaute Occasionnel
Bonjour à tous,

Je souhaiterai mettre à jour ma base de données (onglet base) qui contient plus de 10 000 lignes grâce au données présentes dans l'onglet export mais dont le nombre de lignes est variable

Les colonnes à mettre à jour :
Prénom
Ville
Couleur
Prix €
Quantité

Exemple pour l'article A :
Abc Antibes Vert 10 1
devient
Test1 Amiens Rouge 100 1

Jusqu'à présent je mets à jour par une recherchev sur l'article mais j'aimerai l'automatiser si possible


Merci d'avance :)
 

Pièces jointes

  • test mise à jour données.xlsx
    9.1 KB · Affichages: 36
Dernière édition:

miliev83

XLDnaute Occasionnel
Tout simplement parfait merci beaucoup

Par contre (mais c'est de ma faute je n'ai pas pensé à le préciser), sur mon vrai fichier les colonnes à mettre à jour de la feuille base ne se suivent pas et même chose pour les colonnes de la feuilles export.

Du coup, j'ai testé sur ton fichier en ajoutant des colonnes dans les 2 feuilles et forcément cela ne fonctionne pas...

A la limite si cela n'est vraiment pas réalisable comme tel, je peux modifier ma feuille base et faire en sorte que les colonnes se suivent en revanche les colonnes de la feuilles export ne peuvent pas être modifiées.

Peux-tu à nouveau m'aider ? :confused:
 

miliev83

XLDnaute Occasionnel
J'ai modifié mon exemple pour que cela ressemble un peu plus au vrai (je n'ai pas le nombre et le positionnement exact des colonnes en tête car c'est au boulot)

- dans "base" les colonnes X en jaune ne sont pas à mettre à jour
- dans "export" les colonnes Y en bleu ne sont pas à mettre à jour

Et du coup en retravaillant le fichier j'ai oublié de préciser une mise à jour supplémentaire dans la feuille "base", j'aimerai que pour tout les articles présents dans la feuille "export" il y écrit "oui" dans la colonne MAJ de la feuille "base"

Peut-on éventuellement copier toute la ligne ?
Je ne pense pas car les colonnes en bleu de l'export ne sont pas à mettre à jour car elles n'existent pas dans mon fichier base
 

Pièces jointes

  • test mise à jour données 2.xlsx
    9.5 KB · Affichages: 33
Dernière édition:

Jacky67

XLDnaute Barbatruc
J'ai modifié mon exemple pour que cela ressemble un peu plus au vrai (je n'ai pas le nombre et le positionnement exact des colonnes en tête car c'est au boulot)

- dans "base" les colonnes X en jaune ne sont pas à mettre à jour
- dans "export" les colonnes Y en bleu ne sont pas à mettre à jour


Je ne pense pas car les colonnes en bleu de l'export ne sont pas à mettre à jour car elles n'existent pas dans mon fichier base
RE..
Testes.........
Il sera facile de modifier le positionnement si cela ne correspond pas a ton classeur au boulot
 

Pièces jointes

  • test mise à jour données 2.xlsm
    22.2 KB · Affichages: 51
Dernière édition:

miliev83

XLDnaute Occasionnel
Ok j'essaierai mardi de l'adapter au boulot mais ca devrait le faire en tout cas merci beaucoup :)

une dernière chose, est-ce que tu peux retélécharger ma 2eme PJ car j'ai ajouté une colonne "MAJ"

Et du coup en retravaillant le fichier j'ai oublié de préciser une mise à jour supplémentaire dans la feuille "base", j'aimerai que pour tout les articles présents dans la feuille "export" il y écrit "oui" dans la colonne MAJ de la feuille "base"

Merci encore
 

Jacky67

XLDnaute Barbatruc
bonsoir, je réouvre le post car j'aurai une petite modification à faire :

comment faire pour que ce code s'exécute seulement pour les lignes qui contienne "A traiter" en colonne T de la feuille "base" ?

Merci ;)
Re...
Remplace cette ligne
Code:
If IsNumeric(Application.Match(C, [Export!a:a], 0)) Then
par
Code:
If IsNumeric(Application.Match(C, [Export!a:a], 0)) And UCase(.Range("T" & C.Row)) = "A TRAITER" Then
 

Jacky67

XLDnaute Barbatruc
merci de ton retour jacky67 ;)

je viens de tester mais ça ne fonctionne pas aucun MAJ ne se fait.

Je m'y connais pas des masses mais il ne faudrait pas préciser de vérifier la condition sur la feuille "base" avant ?
RE...
Je ne vois aucun raison pour que cela ne fonctionne pas.......
Voici une version qui sera plus rapide s'il y a beaucoup de donnée.
Cette version filtre la feuille base et ne traite que les lignes ou il y a "A traiter" en colonne T
 

Pièces jointes

  • test mise à jour données 4.xlsm
    23.5 KB · Affichages: 47

miliev83

XLDnaute Occasionnel
ok merci ça marche sur ton fichier je vais pouvoir l'adapter :)

en revanche est-il possible de remplacer les ("$D$1:$T$4") par la plage de mon tableau car le nombre de ligne peut évoluer et comme nous sommes plusieurs à l'utiliser ça évitera des fausses manip....

Merci encore
 

Discussions similaires

Réponses
7
Affichages
686
Réponses
4
Affichages
454

Statistiques des forums

Discussions
315 127
Messages
2 116 497
Membres
112 765
dernier inscrit
SIDIANW