excelmen
Messages postés3Date d'inscriptionsamedi 9 mai 2009StatutMembreDernière intervention17 mai 2009
-
9 mai 2009 à 23:51
silina2009
Messages postés1Date d'inscriptionlundi 25 mai 2009StatutMembreDernière intervention25 mai 2009
-
25 mai 2009 à 11:25
Bonjour à tous,
A l'aide d'une petite macro, je souhaite atteindre une cellule précise sur un fichier Excel.
La macro précédente ayant retiré une partie des lignes, je ne peux pas utiliser l'ordre qui m'est connu. Pour définir ma référence, j'utilise =EQUIV ,mais comment comment codifier correctement mon ordre?
Exemple:
Range("S1").Select
Cells(ActiveCell.Row + (ActiveCell.FormulaR1C1 = "=MATCH(""Visual"",C[-18],0)"), ActiveCell.Column - 17).Activate >> ne fonctionne pas, ni certaines variantes que j'ai tentées.
Ce serait sympa de me faire savoir si je me plante totalement ou (mieux), me proposer une alternative ou la correction utile pour que celà fonctionne.
Meilleures salutations à tous et n'oublier de profiter du printemps en plein air
A voir également:
Visual basic_Sélection d'une cellule en fonction d'une référence variable
cs_Jack
Messages postés14006Date d'inscriptionsamedi 29 décembre 2001StatutModérateurDernière intervention28 août 201579 10 mai 2009 à 00:03
Salut
Catégorie de la question modifiée de VB.Net --> VBA
Bizarre ton truc.
Tu additionnes un chiffre, ActiveCell.Row, avec un test qui te renverra True ou False !
Quelle cellule penses-tu atteindre ?
Tu dis
"je souhaite atteindre une cellule précise" : Laquelle ?
"je ne peux pas utiliser l'ordre qui m'est connu" : Que viens faire l'ordre la dedans ? L'ordre de quoi ?
Vala
Jack, MVP VB NB : Je ne répondrai pas aux messages privés
<hr />Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
excelmen
Messages postés3Date d'inscriptionsamedi 9 mai 2009StatutMembreDernière intervention17 mai 2009 10 mai 2009 à 09:43
Salut,
En introduction, je me permets de faire savoir que je n'ai aucune formation en programmation et que j'analyse les macros de certains collègues pour les utiliser dans mes fichiers (à but personnel pour améliorer mon rendement professionnel)...en résumé, je ne connais pas le langage technique.
L'ordre d'activation de la macro est donné par un rectangle auquel j'affecte une macro
Mon but et d'aller une cellule plus à droite que ma référence qui est un nom. Le problème est que la référence n'est pas toujours situé sur la même ligne car je n'importe pas toujours de même nombre de données...avant d'effacer les lignes non utilisées
Exemple: Ma cellule A4 contient le mot "Soleil"Le langage code de l'exemple Range("B1").Select ActiveCell.FormulaR1C1 "=MATCH(""soleil"",C[-1],0)"
Le résultat de l'opération me donne le chiffre 4 et c'est précisément ce chiffre 4 que je souhaite intégrer ensuite à la formule Cells(ActiveCell.Row + et avant ActiveCell.Column +0).Activate en partant de la cellule B1. Si cette formule n'est pas possible et qu'il n'y en a pas d'autre, tant pis.
Merci pour la réponse ci-dessus mais je ne comprend pas : un test qui te renverra True ou False puisque de mon coté l'opération "Match" me donne un nombre
cs_Jack
Messages postés14006Date d'inscriptionsamedi 29 décembre 2001StatutModérateurDernière intervention28 août 201579 12 mai 2009 à 10:02
Re
Ok pour le résultat de Match qui donne un nombre, mea culpa, mais le problème reste le même : Aucune Formula ne ressemble à un nombre tout seul; une Value oui
Donc, je retranscris en français ce que tu veux faire :
Dans une feuille de données, tu veux rechercher un texte puis récupérer le contenu d'une cellule située à proximité.
Plutôt que de jouer avec Row+1 ou Column+1, je te recommande Offset (décalage) = beaucoup plus pratique, exemple
En supprosant que la sélection se trouve sur la cellule de la donnée trouvée (avec une boucle de recherche ou un Match) et que tu veuilles récupérer le contenu de la cellule située dans la colonne à droite de cette cellule, deux lignes en dessous :
Range("A1").Value = ActiveCell.Offset(2, 1).Value
Vala
Jack, MVP VB NB : Je ne répondrai pas aux messages privés
<hr />Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
silina2009
Messages postés1Date d'inscriptionlundi 25 mai 2009StatutMembreDernière intervention25 mai 2009 25 mai 2009 à 11:25
BONJOUR , j'ai une petite problème en langue VB tel que je veut faire l'affichage d'un courbe de mesure de température de 0°à 35° en fonction du temps ors je ne saivait pas comment bein paraticiquer le programme en vb et surtout pour le tracage du courbe
quelle q'un peut m'aider?
merci d'avance