Vous utilisez un navigateur obsolète. Il se peut que ce site ou d'autres sites Web ne s'affichent pas correctement. Vous devez le mettre à jour ou utiliser un navigateur alternatif.
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 !
une petite astuce que j'utilise pour transformer mes formules dans vba:
tu lances l'enregistreur de macro, tu double-clik sur la cellule où est la formule, tu rentres la barre de formule et tu valides avec la coche verte et tu arrêtes l'enregistreur.
Normalement, dans un module tu retrouves le code vba de ta formule.
Après quand tu dis que tu veux en VBA, tu veux écrire en VBA le résultat de ta formule ou inscrire en VBA la formule dans une cellule?
Bonjour TITIBORREGAN5
Merci pour l'astuce 🙄 le resultat trouvé est :
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
Range("A3:A2014").Select
ActiveCell.FormulaR1C1 = _
"=IF((COUNTBLANK(RC[1]:RC[3])+COUNTBLANK(RC[6]:RC[7])+COUNTBLANK(RC[10]:RC[11]))=0,ROW(RC)-2,"""" )"
End Sub
Bonjour TITIBORREGAN5
Merci pour l'astuce 🙄 le resultat trouvé est :
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
Range("A3:A2014").Select
ActiveCell.FormulaR1C1 = _
"=IF((COUNTBLANK(RC[1]:RC[3])+COUNTBLANK(RC[6]:RC[7])+COUNTBLANK(RC[10]:RC[11]))=0,ROW(RC)-2,"""" )"
End Sub
je veux inscrire la formule en VBA dans le tableau
GRAZIE
Private Sub Worksheet_Change(ByVal Target As Range)
Range("A3:A2014").Select
for i = 3 to 2014
cells(i,1).Formula = "=IF((COUNTBLANK(RC[1]:RC[3])+COUNTBLANK(RC[6]:RC[7])+COUNTBLANK(RC[10]:RC[11]))=0,ROW(RC)-2,"""" )"
nextEnd Sub
Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
For i = 3 To 2014
Cells(i, 1).Formula = "=IF((COUNTBLANK(RC[1]:RC[3])+COUNTBLANK(RC[6]:RC[7])+COUNTBLANK(RC[10]:RC[11]))=0,ROW(RC)-2,"""" )"
Next
Application.EnableEvents = True
End Sub
Dans un événement CHANGE, il faut toujours commencer par : Application.EnableEvents = False et avant End Sub Application.EnableEvents = True. Pas besoin de Select vu que tu as la boucle d'insertion.
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Range("l3").Value <> "" Then
Range("a3:a2014").Formula = "=IF((COUNTBLANK(RC[1]:RC[3])+COUNTBLANK(RC[6]:RC[7])+COUNTBLANK(RC[10]:RC[11]))=0,ROW(RC)-2,"""" )"
Else
Exit Sub
End If
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