étendre une formule

  • Initiateur de la discussion Initiateur de la discussion ma
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

M

ma

Guest
j'aimerais étendre une formule jusqu'à la fin de ma sélection (je peux avoir entre 1000 lignes à 2500) en vba ? et après je veux effectuer un tri sur cette formule

Comment on fait ça SVP ?
 
Bonjour,

Essaye range('A1').CurrentRegion.select
activewindow.rangeselection.formula = 'ta formule'

Apreès, si la formule dépend des lignes, il vaut mieux mettre un exemple sinon on va pas s'en sortir.
A+

Edit : Han ! mal lu la question...

Message édité par: 2passage, à: 27/06/2005 14:28
 
Bonjour,

voici un code qui doit faire ce dont tu as besoin : ca pose la formule en colonne B jusqu'à la derniere ligne où la colonne A est remplie (à coller sur un bouton CommandButton1) :

Code:
Private Sub CommandButton1_Click()
Dim ligne
Application.ScreenUpdating False
For Each ligne In Range(Range('B65536').End(xlUp).Offset(1, 0), Range('A65536').End(xlUp).Offset(1, 0)).Rows
    Range('B' & ligne.Row).FormulaR1C1 = '=IF(RC[-1]='''','''',REPLACE(RC[-1],1,1,''T)''))'
Next
Application.ScreenUpdating True
End Sub

enjoy
 
Merci
j'arrive quand je met le bouton dans le classeur 1 mais pas je met dans le classeur 2 pourtant j'ai précisé la feuil

Private Sub CommandButton1_Click()

Dim ligne
Worksheets('Feuil1').Activate
Application.ScreenUpdating = False
For Each ligne In Workbooks('classeur1.xls').Worksheets('feuil1').Range(Range('B65536').End(xlUp).Offset(1, 0), Range('A65536').End(xlUp).Offset(1, 0)).Rows
Range('B' & ligne.Row).FormulaR1C1 = '=IF(RC[-1]='''','''',REPLACE(RC[-1],1,1,''T''))'
Next
Application.ScreenUpdating = True

End Sub

Désolé je suis vraiment pas doué
 
bonjour
j'ai essayé la procédure suivante et c'est ok

Sub Corriger()
Dim Ligne As Long, L As Long

Worksheets('Feuil1').Activate
Application.ScreenUpdating = False
Ligne = Workbooks('classeur1.xls').Worksheets('feuil1').Range('A65536').End(xlUp).Row
Range('B1').Value = 'S'
For L = 2 To Ligne
Range('B' & L).FormulaR1C1 = '=IF(RC[-1]='''','''',REPLACE(RC[-1],1,1,''T)''))'
Next L
Columns(2).AutoFit
Application.ScreenUpdating = True

End Sub


au revoir
 
Bonjour,

Je pense que tu n'actives pas le bon classeur avant de lancer le reste du code (il y a aussi une feuil1 dans classeur2). Un prochaine fois, essaye de preciser un peu le 'ca marche po' parce que pour le diagnostique, là, c'est un peu boule de cristal, quand même... correction en commentaire ci dessous

Code:
Private Sub CommandButton1_Click()

Dim ligne
Workbooks('classeur1.xls').Activate 'Cette ligne à ajouter
Worksheets('Feuil1').Activate
Application.ScreenUpdating = False
For Each ligne In Workbooks('classeur1.xls').Worksheets('feuil1').Range(Range('B65536').End(xlUp).Offset(1, 0), Range('A65536').End(xlUp).Offset(1, 0)).Rows
    Range('B' & ligne.Row).FormulaR1C1 = '=IF(RC[-1]='''','''',REPLACE(RC[-1],1,1,''T''))'
Next
Application.ScreenUpdating = True

End Sub

A+ 🙂

Edit : big bazar balise couleur dans balise code 😛

Message édité par: 2passage, à: 28/06/2005 14:44
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
5
Affichages
161
  • Question Question
Microsoft 365 Suivi charge/capa
Réponses
10
Affichages
336
  • Question Question
Microsoft 365 Formule
Réponses
3
Affichages
193
Réponses
16
Affichages
576
Retour