Utiliser une requête en vba pour mettre à jour une cellule

Résolu
fabiendag - 9 juil. 2013 à 13:46
 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

10 réponses

ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
9 juil. 2013 à 19:31
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.
3
Utilisateur anonyme
9 juil. 2013 à 19:44
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.
3
Utilisateur anonyme
9 juil. 2013 à 19:56
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.
3
cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
9 juil. 2013 à 14:30
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)
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
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
0
cs_MPi Messages postés 3877 Date d'inscription mardi 19 mars 2002 Statut Membre Dernière intervention 17 août 2018 23
9 juil. 2013 à 15:11
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
0
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
0
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
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
9 juil. 2013 à 19:46
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.
0
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
0
Rejoignez-nous