IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

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


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Futur Membre du Club
    Homme Profil pro
    Technicien
    Inscrit en
    Avril 2015
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vosges (Lorraine)

    Informations professionnelles :
    Activité : Technicien

    Informations forums :
    Inscription : Avril 2015
    Messages : 3
    Par défaut Macro condition si cellule vide alors faire ceci, sinon aller ligne suivante
    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 :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    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.

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    With Sheets("BOM")
        For i = 72 To 12000
            If Trim("" & .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

  3. #3
    Expert éminent
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Par défaut




    Salut Robert !

    Au lieu d'une usine à gaz avec une boucle, vaut mieux affecter à la plage entière une formule contenant la condition,
    l'exécution serait bien plus rapide …


    _____________________________________________________________________________________________________
    Je suis Charlie - Je suis Bardo

  4. #4
    Invité
    Invité(e)
    Par défaut
    Salut Marc,
    D'accord avec toi il faut juste modifier la formule pour tester les nuls!

  5. #5
    Futur Membre du Club
    Homme Profil pro
    Technicien
    Inscrit en
    Avril 2015
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vosges (Lorraine)

    Informations professionnelles :
    Activité : Technicien

    Informations forums :
    Inscription : Avril 2015
    Messages : 3
    Par défaut
    Super 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 ?

  6. #6
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    13 173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 13 173
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Au lieu d'une usine à gaz avec une boucle, vaut mieux affecter à la plage entière une formule contenant la condition, l'exécution serait bien plus rapide …
    Je ne peux qu'abonder dans le sens de Marc.

    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 ?
    Ces deux billets pourront t'aider sans doute à comprendre comment écrire une formule à l'aide VBA Ecrire une formule dans Excel à l'aide d'une procédure VBA et la suite Ecrire une formule dans Excel à l'aide d'une procédure VBA (Part 2)
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

Discussions similaires

  1. [XL-2007] Condition si cellule vide
    Par havopti dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 03/05/2013, 10h05
  2. [Débutant] condition si cellule vide
    Par microbe83 dans le forum C++Builder
    Réponses: 2
    Dernier message: 05/02/2013, 16h45
  3. [XL-2003] Macro Vlookup sur cellule vide
    Par Sibuxian dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 03/05/2010, 16h37
  4. macro - détection horizontale cellule vide
    Par cati_78 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 26/11/2008, 22h18
  5. [Tableaux] si cellule vide, alors cellule inexistante
    Par afrodje dans le forum Balisage (X)HTML et validation W3C
    Réponses: 6
    Dernier message: 31/07/2007, 13h21

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo