VBA excel ,
Fermé
Loulou_92
Messages postés
1
Date d'inscription
mercredi 19 mars 2008
Statut
Membre
Dernière intervention
19 mars 2008
-
19 mars 2008 à 15:35
gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 - 21 mars 2008 à 11:41
gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 - 21 mars 2008 à 11:41
A voir également:
- VBA excel ,
- Liste déroulante excel - Guide
- Si et excel - Guide
- Aller à la ligne excel - Guide
- Word et excel gratuit - Guide
- Excel compter cellule couleur sans vba - Guide
2 réponses
gbinforme
Messages postés
14946
Date d'inscription
lundi 18 octobre 2004
Statut
Contributeur
Dernière intervention
24 juin 2020
4 704
21 mars 2008 à 09:27
21 mars 2008 à 09:27
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.
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.
gbinforme
Messages postés
14946
Date d'inscription
lundi 18 octobre 2004
Statut
Contributeur
Dernière intervention
24 juin 2020
4 704
21 mars 2008 à 11:41
21 mars 2008 à 11:41
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
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
21 mars 2008 à 10:09
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.