Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

XL 2013 Changer boucle en étirement de formule

  • Initiateur de la discussion Initiateur de la discussion viclaet
  • 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 !

viclaet

XLDnaute Nouveau
Bonjour,

Je suis débutante en VBA et je souhaiterais gagner du temps en remplaçant une boucle par un étirement de formule.
Je m'explique, j'ai réalisé cette boucle :

For j = 51 To 60
For i = 4 To 21112

If (Cells(i, 11) >= Cells(i, 10)) Then
Cells(i, j) = 0
Else
Cells(i, j) = 1
End If

Next i
Next j

Cependant, le temps de réalisation du programme est long.
Pour cela j'aimerai savoir comment étendre la formule que j'aurais mise en cellule (4,51) et l'étendre jusqu'en cellule (21112,51).

Merci pour votre aide
 
Re : Changer boucle en étirement de formule

Bonjour

avec cette formule en AY4 (51)
=SI($K4>=$J4;0;1)
tu tires vers la droite jusqu'à la colonne BH (60)
Puis vers le bas juqu'à ta ligne 21112
 
Re : Changer boucle en étirement de formule

Bonjour,

Mon but est d'automatiser le programme, c'est la raison pour laquelle je souhaite passer sous VBA et non Excel.
De plus la soustraction se fait entre une variable fixe et une aléatoire, pour cela il faut qu'il y ait un changement de valeurs entre les colonnes.
 
Re : Changer boucle en étirement de formule

Bonjour,

Sans ton ficher exemple.. difficile d'aller plus loin...

remplaçant une boucle par un étirement de formule.
j'avais compris que tu ne voulais plus de VBA justement..

Cells(i, 11) >= Cells(i, 10))

ici, je ne vois rien de fixe ni d'aléatoire.. tu fais toujours la soustraction des cellules colonne J et K de la meme ligne..
tu voulais peut etre plutot dire ?
Fixe; les colonnes J et K
variable: la ligne.

pour mettre une formule et l'étirer en VBA:
lance l'enregistreur de macro, ecris ta formule en AY4, tires la , à droite et en bas
arrete l'enregistreur, et visualise le code (Alt +F11 pour ouvrir l'éditeur de code): tu auras, je pense, déjà un bon début de réponse
 
Dernière édition:
Re : Changer boucle en étirement de formule

Bonjour

Mieux vaut tard que...

peut être avec
Code:
Sub etendre2()
Application.ScreenUpdating = False
Range("D6:AA2000").Formula = "=IF(D6>=C6,0,1)"
Application.ScreenUpdating = True
End Sub

en adaptant la plage D6:AA2000 a ton besoin.

@ plus
 
- 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

Discussions similaires

Réponses
5
Affichages
703
Réponses
8
Affichages
647
Réponses
4
Affichages
580
Réponses
7
Affichages
432
  • Question Question
XL 2021 VBA excel
Réponses
4
Affichages
370
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…