Derniere cellule d'un tableau [Résolu]

Signaler
Messages postés
46
Date d'inscription
vendredi 3 août 2007
Statut
Membre
Dernière intervention
18 décembre 2007
-
Messages postés
46
Date d'inscription
vendredi 3 août 2007
Statut
Membre
Dernière intervention
18 décembre 2007
-
Bonjour à tous, j'ai une question sur vba. Je vais essayé de faire simple. J'ai un premier tableau sur une feuille qui ne bougera pas, une deuxieme tableau sur une deuxieme feuille et ce tableau variera selon les données que j'aurai entré, et enfin un troisieme tableau qui dont les cellules seront égales à un recherche v d'une valeur du deuxieme tableau dans le premier et donc sera forcement lui même variable. Apres plusieurs test je pense que le plus simple serait de faire un recherche v classic et de connaitre la valeur de la derniere range en bas a droite du second tableau tableau (par exemple "E1") pour pouvoir l'effectuer. Si vous avez une idée de la manière dont je pourrais faire pour trouver cette range ou une autre manière d'effectuer mon recherche v, n'hestiter pas car je galère un peu.lol.
Merci par avance.

5 réponses

Messages postés
17286
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
23 décembre 2019
68
voir SpeciallCells
Messages postés
6786
Date d'inscription
vendredi 16 décembre 2005
Statut
Membre
Dernière intervention
21 décembre 2011
18
ça me gave sévère ce put*** de problè-me de cache !!!!!!!!!!!!!!!

bref, je recommence pas tout :
range("E1").End(xlDown).Row
(si tes données partent de E1, pour trouver la dernière ligne de la colonne E)

@++

<hr width="100%" size="2" />( Nouveau forum : Exclusivement Office & VBA/STRONG>
Messages postés
46
Date d'inscription
vendredi 3 août 2007
Statut
Membre
Dernière intervention
18 décembre 2007

En fait j'ai trouvé la solution, c'était tout bête mais je viens juste de me mettre au VBA, donc un peu d'indulgence.lol.. J'espère que ça pourra aider d'autres personnes.

Sub macro()
'on cherche à connaitre les coordonnées de la dernière cellule(en bas à droitre du tableau)
Worksheets("nom de la feuille2").Select
Dim k As Integer
Dim l As Integer
'le tableau de la feuille 2 est composé de l colonnes et de k lignes
k = ActiveSheet.Cells.SpecialCells(xlCellTypeLastCell).Row
l = ActiveSheet.Cells.SpecialCells(xlCellTypeLastCell).Column
'on selectionne la feuille ou nous voulons mettre les résultats issus de la rechercheV(pour nous la feuille3)
Worksheets("feuille3").Select
'le tableau de la feuille 1 ne varie pas, mais nous aurions pu réaliser la même opération si ce n'était pas la cas.Range("A1").Formula "VLOOKUP('nom de la feuille2'!A1,'nom de la feuille1!$A$3:$AZ$8,4,FALSE)"
    Range("A1").Select
Range("A1").Formula = "=VLOOKUP('nom de la feuille2'!A1,'nom de la feuille1'!$A$3:$AZ$8,4,FALSE)"
    Range("A1").Select
'on réalise la rechercheV sur toutes les valeurs du tableau de la feuille2 (dont la dimension varie)
    Selection.AutoFill Destination:=Range(Cells(1, 1), Cells(k, 1)), Type:=xlFillDefault
    Range(Cells(1, 1), Cells(k, 1)).Select
    Selection.AutoFill Destination:=Range(Cells(1, 1), Cells(k, l)), Type:=xlFillDefault
    Range(Cells(1, 1), Cells(k, l)).Select
End Sub

Voilà, en tout cas ça marche trés bien, j'éspère que la réponse est à peu près clair car ma question ne l'était pas apparamment.lol.
@+
Messages postés
3877
Date d'inscription
mardi 19 mars 2002
Statut
Membre
Dernière intervention
23 août 2018
18
Pourquoi rechercher la dernière cellule du tableau pour une RechercheV ?

=RECHERCHEV(A1;Feuil2!A:G;4;FAUX)

Plutôt que d'utiliser un Range du genre A1:G50, tu peux utiliser simplement les colonnes comme argument  (ici A:G)

Mais peut-être aie-je mal compris le problème ?

MPi
Messages postés
6786
Date d'inscription
vendredi 16 décembre 2005
Statut
Membre
Dernière intervention
21 décembre 2011
18
@++

<hr size="2" width="100%" />( Nouveau forum : Exclusivement Office & VBA