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

cnversion formule en vba

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 !

momo2394

XLDnaute Occasionnel
Salut à tous

Je voudrais convertir cette formule en vba avec
Private Sub Worksheet_Activate()

=SI(OU(O7="";P7>0);"";"Not Valide")
cette formule demarrera en A7 jusqu'a A166

Merci
 
Re : cnversion formule en vba

Bonsoir momo,

Avec ceci :

VB:
Private Sub Worksheet_Activate()
For Each c In Range("A7:A166")
    c.FormulaR1C1 =  "=IF(OR(RC[14]="""",RC[15]>0),"""",""Not Valide"")"
Next c
End Sub

A tester je ne l'ai pas fait

A+
Yaloo
 
Dernière édition:
Re : cnversion formule en vba

Hello

En sautant la boucle, on arrive à la même chose
Private Sub Worksheet_Activate()
Range("A7:A166").FormulaR1C1 = "=IF(OR(RC[14]="""",RC[15]>0),"""",""Not Valide"")"
End Sub
 
Re : cnversion formule en vba

Re

Sinon sans la formule :

VB:
Private Sub Worksheet_Activate()
 For i = 7 To 166
  If Not (Cells(i, 15).Value = "" Or 0 > Cells(i, 16).Value) Then
    Cells(i, 1).Formula = "Not Valide"
  End If
 Next i
End Sub

En entrant les résultats directement dans les cellules

Yaloo
 
Re : cnversion formule en vba

Hello

C'est aussi possible avec un IIF
Private Sub Worksheet_Activate()
Dim i As Byte
For i = 7 To 166
Cells(i, 1).Formula = IIf((Not IsEmpty(Cells(i, 15)) Or Cells(i, 16) > 0), "Not Valide", vbNullString)
Next i
End Sub
 
Re : cnversion formule en vba

Et en utilisant SpecialCells, ça joue aussi

Private Sub Worksheet_Activate()
On Error Resume Next
Set a = Union(Range("O7:O166"), Range("P7😛166")).SpecialCells(xlCellTypeConstants)
a.Offset(, -14).Resize(, 1) = "Not Valide"
End Sub
 
Re : cnversion formule en vba

Et en utilisant SpecialCells, ça joue aussi

Private Sub Worksheet_Activate()
On Error Resume Next
Set a = Union(Range("O7:O166"), Range("P7😛166")).SpecialCells(xlCellTypeConstants)
a.Offset(, -14).Resize(, 1) = "Not Valide"
End Sub

Salut Yaloo & Alligator427

Merci beaucoup pour vos réponses et désolé pour le retard
petit souci de connection
encore merci
 
- 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
185
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…