VBA peut-on raccourcir mon code If

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

Arpette

XLDnaute Impliqué
Bonsoir à toutes et à tous,
je reprends un fichier avec des formules que je veux réécrire en code VBA. Pas de problème, sauf que je voudrais savoir si on ne peut pas écourter le code quand les formules se répète(pour juste un changement de colonne 🙁, çà va de la colonne L à V😛). Je vous joints une partie du code, enfin, là où je me suis arrêté.
Merci de votre aide.
@+
Code:
Option Explicit
Sub Test()
Dim f As Range, g As Range, h As Range, i As Range, j As Range, k As Range

With Sheets("Calcul")
    Set h = .Range("L4:L" & Range("L65536").End(xlUp).Row)
    Set i = .Range("L4:L" & Range("L65536").End(xlUp).Row)
    Set j = .Range("M4:M" & Range("M65536").End(xlUp).Row)
    'Je dois répèter l'opération jusqu'à la colonne V
        h.Formula = "=IF(FICHE!R[-2]C[-3]="" "","" "",FICHE!R[-2]C[-3])"
        i.Formula = "=IF(FICHE!R[-2]C[-3]="" "","" "",FICHE!R[-2]C[-3])"
        j.Formula = "=IF(FICHE!R[-2]C[-3]="" "","" "",FICHE!R[-2]C[-3])"
        f.Value = f.Value
        g.Value = g.Value
        h.Value = h.Value
        i.Value = i.Value
        j.Value = j.Value
End With
End Sub
 
Re : VBA peut-on raccourcir mon code If

Bonjour


Si j'ai bien compris la problématique, cela ne te convient pas ?

Code:
Sub Test_bis()
Dim i&: i = 100 ' à adapter
Sheets("Calcul").Range("L4:V" & i).Formula = "=IF(FICHE!R[-2]C[-3]="" "","" "",FICHE!R[-2]C[-3])"
End Sub

Et pour les valeurs seules
Code:
Sub Test_TER()
Dim i&: i = 100 ' à adapter
With Sheets("Calcul").Range("L4:V" & i)
.Formula = "=IF(FICHE!R[-2]C[-3]="" "","" "",FICHE!R[-2]C[-3])"
.Value = .Value
End With
End Sub
 
Re : VBA peut-on raccourcir mon code If

Bonjour Staple, ah là, çà fonctionne🙂. Il me reste un soucis, comment faire pour que la variable i s'arrête en fonction ses cellules pleines en colonne G. Dans le fichier joint, je m'arrête à la 29ème ligne, alors qu'avec la dimention de la variable je vais jusqu'à la 100 ème.
Sinon nickel.
Merci de ton aide.
@+
 
Re : VBA peut-on raccourcir mon code If

RE


Il suffit de reprendre la piste que tu utilisais précédemment
Code:
Sub Test_QUATRO()
Dim i&: i = Sheets("Calcul").[G65536].End(xlup).Row ' à adapter
With Sheets("Calcul").Range("L4:V" & i)
.Formula = "=IF(FICHE!R[-2]C[-3]="" "","" "",FICHE!R[-2]C[-3])"
.Value = .Value
End With
End Sub
 
- 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
7
Affichages
178
Réponses
15
Affichages
788
Retour