J'ai un tableau dont le nombre de ligne varie, et j'aimerai récupérer la dernière valeur de chaque ligne pour ensuite la copier dans un tableau situé plus loin.
Pour plus de clarté (plus que nécessaire) j'ai un exemple en pièce jointe.
Je ne sais pas du tout comment procéder vu mon niveau ultra débutant en VBA.
Mon tableau contient un nombre de lignes variable, et plus tard j'aimerai créer un bouton qui puisse me faire tout ça.
Ce serai plus robuste je pense de passer par une macro, enfin c'est mon point de vu
Ce n'est pas que je veuille insister lourdement, mais juste pour qu'on soit certains de bien se comprendre: dans la plage P1130, la formule est déjà présente. Elle n'affiche rien, tant que les cellules de la même ligne (de E à M) sont vides.
Si ça ne te convient pas, on le fera par macro ... même si la motivation m'échappe un peu
Je suis assez intéréssé par cette discussion et surtout par la solution proposée par notre grand modeste
Pourrais tu expliquer son fonctionnement ? J'avoue ne pas bien comprendre son fonctionnement.
Merci bien
C'est exactement ce que je souhaite faire.
En fait si je souhaite le faire par macro c'est que le fichier contenant le tableau d'origine provient d'un client et la taille du tableau varie selon le nombre de demandes qu'il émet. Et je dois créer une macro qui pourra servir à d'autres au sein de mon entreprise.
Pour l'instant j'ai réussi à récupérer le numéro de la dernière ligne non vide, donc je peux faire ma boucle for pour parcourir ce tableau, et à l'interieur de ma boucle for j'en met une deuxième qui parcourra cette fois ci les lignes jusqu'à la 1ere cellule vide.
Je bidouille mais j'avance un peu.
C'est vrai que ma demande est vaste, je comprends que tu n'ai pas la motivation. Je reviendrai vers toi pour des points plus précis si je bloque.
@Gillus: dans la plage de $E11:$M11, on recherche une valeur numérique suffisamment élevée pour qu'on ne risque pas de la rencontrer souvent (9^9 = 387.420.489) ... si la valeur cherchée n'est pas trouvée, la fonction renvoit la valeur la plus élevée (immédiatement inférieure à la valeur cherchée ... c'est l'aide qui le dit )
Dans le cas présent, les valeurs n'étant pas triées dans la plage, la valeur renvoyée est en réalité celle la plus à droite dans la plage.
Quand la plage contient du texte, valeur cherchée devient "zz"
@kracko: Rassure-toi, ce n'est pas ma propre motivation qui me glisse entre les mains : ce que je voulais dire, c'est que je ne comprenais pas pourquoi tu tenais tant à une macro! Tu viens d'expliquer les tenants et aboutissants ... ma foi ... pourquoi pas puisque tu y tiens ...
Essaie ce qui suit:
VB:
Sub laDernièreParLigne()
With ActiveSheet
derligne = .Range("E50000").End(xlUp).Row
For lig = 11 To derligne
Cells(lig, "Q").Value = Cells(lig, "O").End(xlToLeft).Value
Next lig
End With
End Sub