Code VBA pour RechercheV
Résolu
Francois_Fion
Messages postés
7
Date d'inscription
Statut
Membre
Dernière intervention
-
Francois_Fion Messages postés 7 Date d'inscription Statut Membre Dernière intervention -
Francois_Fion Messages postés 7 Date d'inscription Statut Membre Dernière intervention -
Bonjour à tous,
J'essaye de récupérer des données dans une table présente sur une feuille différente de celle sur laquelle je travaille (on est d'accord, c'est le principe de la recherchev)
Mais voilà, je n'arrive pas à l'automatiser via un code VBA.
A chaque fois, le code me renvoie sur un #NOM?
En créant une macro automatique, voici le code que j'obtiens :
ActiveCell.FormulaR1C1 = "=VLOOKUP(RC[5],mapping!R1C2:R456C10,6,FALSE)"
Cependant, ayant un tableau de plus de 100000 lignes, il faudrait que mon code marche pour la cellule que j'ai activée, mais aussi pour les 100000 lignes qui suivent.
En gros, ce que je voudrais obtenir, ce serait quelque chose de la sorte (en définissant préalablement le i) :
=recherchev(cells(i,23),Mapping!$B$1:$J$500;6;FAUX)
Et que bien sûr, cette fonction avance, jusqu'à ce qu'il n'y ait plus de valeur dans la colonne 23 (colonne W)
je vous avoue que je me casse la tête depuis quelques bonnes heures dessus... auriez-vous une solution ?
je vous remercie d'avance de votre aide,
François.
J'essaye de récupérer des données dans une table présente sur une feuille différente de celle sur laquelle je travaille (on est d'accord, c'est le principe de la recherchev)
Mais voilà, je n'arrive pas à l'automatiser via un code VBA.
A chaque fois, le code me renvoie sur un #NOM?
En créant une macro automatique, voici le code que j'obtiens :
ActiveCell.FormulaR1C1 = "=VLOOKUP(RC[5],mapping!R1C2:R456C10,6,FALSE)"
Cependant, ayant un tableau de plus de 100000 lignes, il faudrait que mon code marche pour la cellule que j'ai activée, mais aussi pour les 100000 lignes qui suivent.
En gros, ce que je voudrais obtenir, ce serait quelque chose de la sorte (en définissant préalablement le i) :
=recherchev(cells(i,23),Mapping!$B$1:$J$500;6;FAUX)
Et que bien sûr, cette fonction avance, jusqu'à ce qu'il n'y ait plus de valeur dans la colonne 23 (colonne W)
je vous avoue que je me casse la tête depuis quelques bonnes heures dessus... auriez-vous une solution ?
je vous remercie d'avance de votre aide,
François.
A voir également:
- Code VBA pour RechercheV
- Code ascii - Guide
- Code puk bloqué - Guide
- Comment déverrouiller un téléphone quand on a oublié le code - Guide
- Code activation windows 10 - Guide
- Code blocks - Télécharger - Langages
2 réponses
Bonjour,
sans VBA
tu écris ta formule " à la française " sur la première ligne en colonne Z
et tu "double-clic" sur le petit carré noir en bas et à droite de la cellulz en Z
Et si tu tiens à du VBA ,pourquoi pas, mais...
petite maquette avec un rechercheV
https://mon-partage.fr/f/HhRi64qw/
le code
Michel
sans VBA
tu écris ta formule " à la française " sur la première ligne en colonne Z
et tu "double-clic" sur le petit carré noir en bas et à droite de la cellulz en Z
Et si tu tiens à du VBA ,pourquoi pas, mais...
petite maquette avec un rechercheV
https://mon-partage.fr/f/HhRi64qw/
le code
Option Explicit
'------------------------------------------------------
Sub Macro()
Application.ScreenUpdating = False
Range("C1").FormulaLocal = "=RECHERCHEV($B1;$F$1:$G$13;2;0)"
Range("C1").AutoFill Destination:=Range("C1:C13")
End Sub
Michel
Bonjour François,
Salutations à l'ami Michel,
Essayons alors l'usine à gaz !
François ouvre ton aide VBA et fait une recherche sur la méthode Find (Range.Find, méthode).
D'autres exemples ICI.
Salutations à l'ami Michel,
Essayons alors l'usine à gaz !
François ouvre ton aide VBA et fait une recherche sur la méthode Find (Range.Find, méthode).
D'autres exemples ICI.
En fait, je tiens à VBA, tout simplement, parce que j'ai des dizaines de RechercheV à faire... et que ça me permettrait d'automatiser et surtout d'écrire les valeurs, plutôt que les formules (et donc par là-même d'alléger mon fichier)
J'ai essayé ta formule, mais je rencontre le même problème qu'avec la mienne, ça ne marche malheureusement pas.
Je vais essayer encore...
Merci quand même et bonne journée,
François.
encore perdu mon temps...
J'ai réadapté ta solution à mon cas (c'est cette partie qui faisait bugger la formule) et après avoir compris, j'ai réussi à bien écrire la formule.
Donc, désolé de t'avoir fait sortir de tes gonds et merci d'avoir pris le temps de me répondre.
Passe une bonne journée,
François.