Flux rss
Rechercher : dans
Par : Pertinence Date Nom d'utilisateur
Statut : Non résolu

VBA excel ,

Loulou_92, le mercredi 19 mars 2008 à 15:35:54
Bonjour à tous ! :-).

Je pratique déjà VBA depuis un petit moment..mais plutot sous access. Je rencontre un souci pour mettre à execution l'idée suivante :

- Importer des données à partir d'une requete d'une base access et les copier dans une feuille excel (=> cette étape là est OK).

- Proposer la possibilité de modifier les données via une table de correspondance qui serait dans un deuxième onglet.
Ex :

Valeur base: Valeur choisies ( par l'utilisateur) :
val1 val1bis
val2 val2bis
val3 val3bis
val2 val2bis
val4 val4bis

et un bouton cliquable "MAJ la base", qui remplacerait chaque occurence des valeurs de la base par les valeurs de l'utilisateur.

Cela peut se faire, via des boucles simples mais le temps de calcul est long (de l'ordre de n², où n est le nombre de ligne de la base).


Existe t'il un moyen plus simple pour procéder ? ( j'ai vu dans d'autres code l'utilisation de la fonction "offset"...mais je ne sais pas à quoi elle sert).

Si mon explication n'est pas claire, je peux vous envoyer le fichier en question .

Merci d'avance pour votre aide.
Configuration: Windows XP
Internet Explorer 6.0
Répondre à Loulou_92  Signaler ce message aux modérateurs Aller au dernier message

1


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
gbinforme, le vendredi 21 mars 2008 à 09:27:03
bonjour

j'ai vu dans d'autres code l'utilisation de la fonction "offset"...mais je ne sais pas à quoi elle sert).

Si tu prends l'aide VBA, tu verras que "cette propriété renvoie un objet Range qui représente une plage décalée de la plage spécifiée" c'est-à-dire que quand tu écris :

range("a1").offset(2,3) => tu es en D3 = colonne A décalée de 3 et ligne 1 décalée de 2

Cela te permet de trouver l'équivalence :
si valeur cherchée = cells(ligne,1) le résultat est cells(ligne,1) .offset(0,1) dans ton exemple.
Toujours zen
Répondre à gbinforme

2


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
loulou_92, le vendredi 21 mars 2008 à 10:09:10
Salut gbinforme!

Merci pour ta réponse...c'est clair maintenant. Mais malheuresement cela ne m'aide pas à résoudre mon problème, à savoir prendre en compte les mises à jour sur la base, tel qu'expliqué dans mon premier message...

Si quelqu'un a des idées...

Merci d'avance.
Répondre à loulou_92

3


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
 gbinforme, le vendredi 21 mars 2008 à 11:41:16
bonjour

Désolé, j'avais bien vu que je ne répondais qu'à une partie pour le reste comme je n'ai qu'une vague idée de ton fichier, je te suggères d'essayer de le faire avec :
Cells.Replace What:="val1 ", Replacement:="val1bis", ...

Mais tu dois faire une boucle sur les valeurs, à toi de tester selon tes données et le nombre de substitutions à faire.
for i = 1 to ubound(ancien)
Cells.Replace What:=ancien(i), Replacement:=nouveau(i), ...
next i
Toujours zen
Répondre à gbinforme

Résultats pour VBA excel ,

VBA Excel - Ecrire dans fichier txt (Résolu) Bonjour à tous Je dois exécuter 2 macros en vba Excel, - une qui ouvre un fichier text et incrémente un tableau de variable, là pas de problème (voici le code épuré pour info) --------------------- Private Sub Command6_Click() On Error GoTo... www.commentcamarche.net/forum/affich-4854458-vba-excel-ecrire-dans-fichier-txt
VBA excel formulaire de saisie - aide (Résolu) Bonjour, je suis débutant en VBA excel, et j'ai construis un formulaire de saisie (userform). Malheureusement je n'arrive pas à le finaliser... il me manque : a/ le numéro de transaction (TRANID) ne change pas lorsque j'appuie sur OK... www.commentcamarche.net/forum/affich-6740657-vba-excel-formulaire-de-saisie-aide
[VBA Excel] activesheet.visible=false !HELP!! (Résolu) Bonjour, Je me dirige vers vous, car je crois que je viens de faire une belle boulette .... J'ai écrit un module en VBA Excel. Dans un module, j'enregistre dans un fichier "base e données" toutes les données que l'utilisateur vient... www.commentcamarche.net/forum/affich-4942514-vba-excel-activesheet-visible-false-help

Résultats pour VBA excel ,

VBA excel insérer une ligne vide (Résolu)Bonjour, Je voudrais en vba excel insérer des lignes à chaque fois qu'une valeur d'une cellule change par rapport à celle du dessus. exemple : il faudrait que j'insére une ligne vide entre 15 et 20, entre 20 et 23, entre 23 et 26.... www.commentcamarche.net/forum/affich-4126535-vba-excel-inserer-une-ligne-vide
[VBA / Excel] Textbox --> Integer (Résolu)Bonjour, je fais un programme sous VBA EXCEL (office 2003) pour mon entreprise pour récupérer des longeurs (en mm). Comme ces longueurs sont toujours sous formes d'entiers, j'ai crée une variable qui me permet de récupérer ces nombres en... www.commentcamarche.net/forum/affich-8801568-vba-excel-textbox-integer
[VBA Excel] exporter cellules en couleur (Résolu)VBA Excel - importer / exporter des cellules en couleur bonjour ou bonsoir à toutes / tous ! J'ai un soucis ! Plusieurs jours/heures/aides pour essayer de faire quelque chose, j'explique ! J'ai un tableau excel, 3 feuilles, sur la... www.commentcamarche.net/forum/affich-2956148-vba-excel-exporter-cellules-en-couleur