Macro condition si cellule vide alors faire ceci, sinon aller ligne suivante

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

Remi_54500

XLDnaute Nouveau
Bonjour,

Voila j'ai commencé une macro mais je suis bloqué.

Ce que je voudrais c'est :
Si ma cellule A72 est vide, alors aller à la cellule N+1
Si ma cellule n'est pas vide, alors excuter la formule "IF(RC[-11]=""ITEM"",""Unit price"",VLOOKUP(RC[-3],[Electrical_codebook_SES.xlsx]Codebook!C1:C6,6,FALSE))"


Savez vous ce que je dois rajouter ?

Je suppose que je dois ajouter du VBA juste en dessous du "10" mais je ne sais pas quoi.

Ma macro :

Sub test()
'
' test Macro
'
i = 0
'
For i = 72 To 12000

Sheets("BOM").Select
'
Cells(i, 1).Select
If ActiveCell = "" Then GoTo 10
'
Cells(i, 12).Select
ActiveCell.FormulaR1C1 = "=IF(RC[-11]=""ITEM"",""Unit price"",VLOOKUP(RC[-3],[Electrical_codebook_SES.xlsx]Codebook!C1:C6,6,FALSE))"

Next i

10



End Sub

Merci d'avance pour votre aide.
 
Re : Macro condition si cellule vide alors faire ceci, sinon aller ligne suivante

Bonjour Rémy,

Comme ceci peut être, sans fichier les tests sont moins formels

Code:
Sub test()
 '
 ' test Macro
 '
 Dim I As Long
 
  With Sheets("BOM")
    .Activate
    For I = 72 To 12000
     If .Cells(I, 1) <> "" Then
       .Cells(I, 12).FormulaR1C1 = "=IF(RC[-11]=""ITEM"",""Unit price"",VLOOKUP(RC[-3],[Electrical_codebook_SES.xlsx]Codebook!C1:C6,6,FALSE))"
     End If
    Next I
  End With
End Sub
 
Re : Macro condition si cellule vide alors faire ceci, sinon aller ligne suivante

Bonjour, super "camarchepas", ca marche 🙂

Par contre comment faire pour la même chose mais dans la colonne d'après ?
Du style
Si ma cellule A72 est vide, alors aller à la cellule N+1
Si ma cellule n'est pas vide, alors excuter la formule "IF(RC[-11]=""ITEM"",""Unit price"",VLOOKUP(RC[-3],[Electrical_codebook_SES.xlsx]Codebook!C1:C6,6,FALSE))" dans la colonne L et la formule ..... (pas encore defini) dans la colonne M ?
 
Re : Macro condition si cellule vide alors faire ceci, sinon aller ligne suivante

Si bien compris

Code:
Sub test()
  '
 ' test Macro
 '
 Dim I As Long
  
   With Sheets("BOM")
     .Activate
     For I = 72 To 12000
      If .Cells(I, 1) <> "" Then
        .Cells(I, 12).FormulaR1C1 = "=IF(RC[-11]=""ITEM"",""Unit price"",VLOOKUP(RC[-3],[Electrical_codebook_SES.xlsx]Codebook!C1:C6,6,FALSE))"
        .Cells(I, 13).FormulaR1C1 = "Formule A définir"
      End If
     Next I
   End With
 End Sub
 
Bonjour,
Je me permet de revenir sur ce post.
La macro fonctionne chez moi et me permet bien de faire ce que je veux. Cependant, elle met énormément de temps à s’exécuter alors que celle ci ne s'applique que sur 500 cellules d'une colonne dans mon fichier.
Est-ce normal ?
Le code utilisé est le même que celui proposé par camarchepas.

Merci d'avance.
 
- 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
1
Affichages
1 K
Réponses
3
Affichages
951
Réponses
2
Affichages
2 K
Réponses
3
Affichages
969
Retour