Utiliser une requête en vba pour mettre à jour une cellule [Résolu]

- - Dernière réponse :  fabiendag - 10 juil. 2013 à 08:59
Bonjour à tous,

voilà mon problème, j'ai une liste de société dans une feuille excel identifier par un numéro (situé dans la première colonne de ma feuille). La colonne suivante correspond au nom de la société. Les douze colonnes suivantes correspondent au chiffre d'affaires de la société au cours des mois de l'année en cours.
J'extrait d'un autre logiciel le CA de chaque société pour un mois. Je colle ce tableau dans une autre feuille du premier classeur. En parcourant toutes les lignes du tableau que je vient de coller, est-il possible de créer une requete qui cherche le numéro dans le premier tableau et mette à jour la colonne du mois correspondant ?
J'espère avoir été clair. Si ce n'est pas le cas, demandez moi de préciser les points flous (je le mets déjà au pluriel sachant qu'il va y en avoir plusieurs)

Fabien
Afficher la suite 

10 réponses

Meilleure réponse
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
215
3
Merci
Bonjour,
Si j'ai bien compris, ton problème est de rechercher un identifiant dans une colonne précise de la feuille à compléter, dans le but d'en déterminer la ligne sur laquelle tu dois travailler.
C'est ce que te permet de faire sans boucle la méthode Find (Rubrique Range.Find dans ton aide VBA). Si critère présent ===>> retourne un Range (cellule) dont la propriété Row est le N° de la ligne

________________________
Réponse exacte ? => "REPONSE ACCEPTEE" facilitera les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement répéter son contenu. Je n'interviendrai que si nécessité de la compléter.

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 189 internautes nous ont dit merci ce mois-ci

Commenter la réponse de ucfoutu
3
Merci
Bonjour,

Avant de faire un paquet de singeries par programmation, pourquoi n'essaies tu pas l'assistant d'importation de données d'Excel ? Pour peu que tes fichiers de données soient compatibles OLEDB ou ODBC, tu peux probablement lire directement les données dans les fichiers. Le mois d'après tu recopies vers le bas les cellules du mois précédent et du changes les références en conséquence dans le nouveau mois.

M'est avis que, dans ce cas, le meilleur programme sera celui que ne feras pas.

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 189 internautes nous ont dit merci ce mois-ci

Commenter la réponse de Utilisateur anonyme
3
Merci
Bonjour,

Même, qu'au pire, au lieu de mettre les résultats de ton deuxième programme dans le même classeur, tu les mets dans un classeur distinct que tu gardes fermé ensuite.

Puis, tu peux le parcourir avec ADO. Tu vas trouver des exemples sur cette page.

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 189 internautes nous ont dit merci ce mois-ci

Commenter la réponse de Utilisateur anonyme
Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
63
0
Merci
Salut

"est-il possible de créer une requete qui cherche le numéro dans le premier tableau et mette à jour la colonne du mois correspondant ?"
Oui

"requete" : disons code de macro

Pour faire ça, il te faut savoir manipuler les objets WorkSheet et Range, principalement.
Voir l'aide de Range, Offset, Do-Loop, For-Next, If-Then-Else, ...

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

Le savoir est la seule matière qui s'accroit quand on le partage (Socrate)
Commenter la réponse de cs_Jack
0
Merci
slt jack et merci pour ta réponse...
En fait je cherche un moyen plus rapide que de parcourir toutes les lignes de la feuille. J'ai plus de 6000 lignes. Donc quand je veux mettre que les CA d'un nouveau mois se mettent à jour, actuellement je parcours ligne par ligne jusqu'à ce que je trouve celle qui correspond, ce qui prend énormément de temps.
C'est pour cela que je cherche si c'est possible ou non avec du SQL et un update...


Fabien
Commenter la réponse de fabiendag
Messages postés
3877
Date d'inscription
mardi 19 mars 2002
Statut
Membre
Dernière intervention
23 août 2018
15
0
Merci
Bonjour,

Pourquoi ne pas utiliser une RechercheV ?


MPi²
Pour ceux qui programment sous Office, n'oubliez pas qu'il existe un forum dédié à ces applications VBA....... ICI
Commenter la réponse de cs_MPi
0
Merci
bonjour MPi
euh bah je sais pas... tu m'en poses des questions... peut-être parce que j'y ai pas pensé lol
je vais tester comment je peux adapter le recherchev à ce que je veux faire et je vous tiens au courant :)
Merci encore

Fabien
Commenter la réponse de fabiendag
0
Merci
par contre, vlookup sert juste à retourner une valeur dans une autre colonne de la même ligne que la valeur recherchée. Or moi je voudrais pouvoir modifier la valeur dans une autre colonne, je crois pas qu'on puisse avec vlookup


Fabien
Commenter la réponse de fabiendag
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
215
0
Merci
Ceci, par ailleurs:
J'extrait d'un autre logiciel le CA de chaque société pour un mois. Je colle ce tableau dans une autre feuille du premier classeur.

m'interpelle et me parait assez lourd.
Quelle est donc la nécessité de coller ce tableau dans une autre feuille du premier classeur ?
Pourquoi ne pas travailler directement avec ses éléments ?

________________________
Réponse exacte ? => "REPONSE ACCEPTEE" facilitera les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement répéter son contenu. Je n'interviendrai que si nécessité de la compléter.
Commenter la réponse de ucfoutu
0
Merci
Bonjour à tous,
merci de vos nombreuses réponses, je vais essayer la méthode find. Effectivement, je n'y pense jamais à celle-ci. Cela devrait fonctionner
Merci à tous


Fabien
Commenter la réponse de fabiendag