Dernière ligne en VBA

Bashrog

XLDnaute Occasionnel
Bonjour à tous,

Je me lance, un peu, dans le VBA (je vais souvent vous embêter ;))

Alors voilà, dans un tableau, j'ai une formule en R2, je voudrais appliquer cette formule jusqu'à la dernière ligne du tableau, sauf que R2 est la dernière ligne !!

Je m'explique, habituellement je tape ma formule en R2, puis je double clique sur le petit carré qui apparait en bas à droite de R2 et la formule s'applique jusqu'à la dernière ligne, la dernière ligne de la colonne Q donc.

Mais voilà, quand j'utilise l'enregistreur de formule VBA, il va aller jusqu'à la dernière ligne, du genre R1090, mais si demain mon tableau va jusqu'à la ligne 2000, ben ça va merder !

J'espère que je suis claire, parce qu'en me relisant, je ne suis pas trop sur :D

En tout cas, merci d'avance à tous ceux qui se pencheront sur mon problème, et d'avance Pardon, pour les questions à la con que je vais poser.
 

DoubleZero

XLDnaute Barbatruc
Re : Dernière ligne en VBA

Bonjour à toutes et à tous,

... d'avance Pardon, pour les questions à la con que je vais poser.

Il n'y en a pas !

Comme ceci ?

Code:
Option Explicit
Sub De_là_à_là()
    With Application: .ScreenUpdating = False: .Calculation = xlManual: End With
    ' formule adapter
    Range("r2:r" & Cells(Rows.Count, 17).End(xlUp).Row).FormulaR1C1 = "=RC[-1]*2"
    With Application: .Calculation = xlAutomatic: .ScreenUpdating = True: End With
End Sub

A bientôt :)
 

Bashrog

XLDnaute Occasionnel
Re : Dernière ligne en VBA

Merci pour ces réponses rapides. Je vais essayer dès lundi au boulot.
Mais serait il possible, pour que j'apprenne, de me décrire, étape par étape, ce que fait cette formule ?
Et est ce que je vais pouvoir facilement l'insérer dans le code déjà existant ?

Merci ;)
 

DoubleZero

XLDnaute Barbatruc
Re : Dernière ligne en VBA

Re-bonjour,

...ce que fait cette formule ?
Et est ce que je vais pouvoir facilement l'insérer dans le code déjà existant ?...

La formule ne fait que multiplier par deux la valeur présente en colonne q. C'est la raison pour laquelle apparaît la remarque "formule adapter".

Ne pas hésiter à utiliser l'enregistreur afin de la modifier.

Se positionner en r2, appliquer la formule souhaitée, puis remplacer, dans le code, ma formule par la vôtre.

Si vous n'obtenez pas un résultat correct, suivez le conseil de Hieu #2 : un fichier avec "le code déjà existant", sans aucune donnée confidentielle.

Bon courage et à bientôt :)
 

Bashrog

XLDnaute Occasionnel
Re : Dernière ligne en VBA

Bonjour,

Aussitôt arriver au bureau, j'ai essayé votre macro, mais cela ne correspond pas à ce que je souhaite faire :(

J'ai préparé un fichier d'exemple afin d'expliquer mon propos. En fait, je récupère, d'un logiciel, une base de donnée que je remets en forme. Ensuite, je rajoute les colonnes R et S ou j'applique une formule recherchev. Ce que je souhaite faire c'est automatiser la formule recherchev jusqu'à la fin de mon tableau (dans l'exemple les ligne R30 et S30) sachant que la dernière ligne varie à chaque fois que j'exporte ma base de donnée.

J'espère avoir été clair :)

Merci encore.
 

Pièces jointes

  • Test 8.xlsx
    50.8 KB · Affichages: 35

DoubleZero

XLDnaute Barbatruc

Pièces jointes

  • 00 - Bashrog - Formules ici et là.xlsm
    45.8 KB · Affichages: 44

Bashrog

XLDnaute Occasionnel
Re : Dernière ligne en VBA

Merci à tous de votre aide. Pour le premier problème, j'ai utilisé la solution de mutzik. Ca a marché du premier coup et je ne me suis pas trop posé de questions ;)

Là je suis sur un autre tableau, et je dois recopier la formule que j'ai tapé en I2 jusque la dernière ligne qui est variable également !

J'ai essayé la méthode de Mutzik, mais ça ne marche pas :confused::confused::confused:. Je vais continuer à bricoler, mais c'est assez difficile quand on ne comprend pas ce que l'on fait !

Merci
 

Pièces jointes

  • Test.xlsx
    11.7 KB · Affichages: 22
  • Test.xlsx
    11.7 KB · Affichages: 23

Efgé

XLDnaute Barbatruc
Re : Dernière ligne en VBA

Re
Quelques explications:
VB:
Sub test3()
 Range("I2:I" & Cells(Rows.Count, 1).End(xlUp).Row).FormulaLocal = _
 Range("I2").FormulaLocal
End Sub
Le range I2:I à la formule du range I2.
avec
VB:
Cells(Rows.Count, 1).End(xlUp).Row
Cells(Ligne, colonne)
Donc Cells(Rows.count,1) est la dernière cellule de la colonne 1 (A)
End(xlup) : Vers le haut
.row numéro de la ligne trouvée.
On part de la dernière cellule de la colonne A et on remont jusqu'a la première cellule non vide de la colonne A
Cordialement
 

Bashrog

XLDnaute Occasionnel
Re : Dernière ligne en VBA

Euh ... j'ai pas tout compris :confused:
Mais je vais essayer !

Autre problème. Toutes les macros que j'avais crées, étaient enregistrées dans le classeur de macro personnelle, mais je ne le retrouve plus !!!

Help :confused:
 

Discussions similaires

Membres actuellement en ligne

Statistiques des forums

Discussions
312 493
Messages
2 088 957
Membres
103 990
dernier inscrit
lamiadebz