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 :

Problème erreur d'exécution 91 Variable objet ou variable de bloc with non définie


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    etudiant
    Inscrit en
    Mai 2019
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : etudiant

    Informations forums :
    Inscription : Mai 2019
    Messages : 28
    Par défaut Problème erreur d'exécution 91 Variable objet ou variable de bloc with non définie
    Bonjour, je suis sur un calcul de somme entre deux feuilles et j'ai une erreur au niveau du calcul "resultat" erreur d'exécution 91 Variable objet ou variable de bloc with non définie.

    Je vous avoue que j'ai retourné le code dans tout les sens et je ne vois pas ou est la faute. la formule b5 avec le .find à pour valeur = 0 ou nothing... alors que la formule c5 find fonction et trouve la cellule. Bref si quelqu'un à une idée je suis preneur. Merci pour votre aide.


    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
    24
    25
    26
    27
    28
    29
     
    Sub calculation_budgetAT2()
     
    'data feuille budget AT
     
    Dim onglet As Worksheet
    Dim reference As Long
    Dim resultat As Double
     
    Set onglet = Worksheets("BudgetAT")
    onglet.Activate
     
    With onglet.Columns("B")
     
        Description5 = "5 - PROPULSION AND MANOEUVRING SYSTEM"
        Set v5 = .Find(Description5, , xlValues, xlWhole, , , True)
     
        Description6 = "6 - AUXILIARY MACHINERY AND SYSTEM"
        Set b5 = .Find(Description6, , xlValues, xlWhole, , , True)
     
        resultat = Application.Sum(Range(v5.Offset(1, 15), b5.Offset(-1, 15)))
     
     
    Worksheets("Budget AT Calculation").Activate
    Worksheets("Budget AT Calculation").Range("B7") = resultat
     
    End With
     
    End Sub

  2. #2
    Membre émérite Avatar de Valtrase
    Homme Profil pro
    Jeune retraité...
    Inscrit en
    Janvier 2016
    Messages
    518
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 66
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Jeune retraité...
    Secteur : Boutique - Magasin

    Informations forums :
    Inscription : Janvier 2016
    Messages : 518
    Par défaut
    Salut,
    • Il faudrait déclarer toutes les variables v5, b5 etc.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
        Dim v5 As Range
        Dim b5 As Range
    • Tu dois aussi tester que v5 et b5 ne sont pas égaux à Nothing

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
        If Not v5 Is Nothing And Not b5 Is Nothing Then
            resultat = Application.Sum(Range(v5.Offset(1, 15), b5.Offset(-1, 15)))
        Else
            ' // Ici code si non trouvé
        End If

  3. #3
    Expert confirmé
    Avatar de Qwazerty
    Homme Profil pro
    La très haute tension :D
    Inscrit en
    Avril 2002
    Messages
    4 128
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France

    Informations professionnelles :
    Activité : La très haute tension :D
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2002
    Messages : 4 128
    Par défaut
    Salut

    En complément de la réponse de Valtrase

    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
    24
    25
    Sub calculation_budgetAT2()
    'data feuille budget AT
    Dim Resultat As Double
    Dim V5 As Range, B5 As Range
     
    Const Description5 As String = "5 - PROPULSION AND MANOEUVRING SYSTEM"
    Const Description6 As String = "6 - AUXILIARY MACHINERY AND SYSTEM"
        'On pointe l'onglet sur lequel on souhaite travailler (inutile de le rendre actif
        With ThisWorkbook.Worksheets("BudgetAT")
            'On recheche les cellules
            Set V5 = .Columns("B").Find(Description5, , xlValues, xlWhole, , , True)
            Set B5 = .Columns("B").Find(Description6, , xlValues, xlWhole, , , True)
            'On vérifie que des cellules ont été trouvées
            If Not (V5 Is Nothing Or B5 Is Nothing) Then
                'Attention ici Range doit être précédé d'un point pour faire référence à l'onglet
                'Attention aussi que B5 ne pointe pas la cellule B1, sinon ça va mal se passe avec l'Offset -1
                If B5.Row > 1 Then
                    'On calcule la somme (les deux lignes peuvent être regroupées et la variable Resultat supprimée
                    Resultat = Application.Sum(.Range(V5.Offset(1, 15), B5.Offset(-1, 15)))
                    ThisWorkbook.Worksheets("Budget AT Calculation").Range("B7").Value = Resultat
                End If
            End If
        End With
     
    End Sub
    ++
    Qwaz

    MagicQwaz := Harry Potter la baguette en moins
    Le monde dans lequel on vit
    Ma page perso DVP
    Dernier et Seul Tutoriel : VBA & Internet Explorer
    Dernière contribution : Lien Tableau Structuré et UserForm
    L'utilisation de l’éditeur de message

Discussions similaires

  1. Réponses: 14
    Dernier message: 23/05/2016, 14h05
  2. erreur d'exécution 91 variable objet ou variable de bloc with non définie
    Par ramo123469 dans le forum Macros et VBA Excel
    Réponses: 9
    Dernier message: 01/04/2016, 14h55
  3. [XL-2013] erreur d'exécution 91 variable objet ou variable de bloc with non définie
    Par tmlpqsdpmdlc dans le forum Macros et VBA Excel
    Réponses: 18
    Dernier message: 08/06/2015, 13h25
  4. Réponses: 6
    Dernier message: 24/02/2015, 09h06
  5. Réponses: 4
    Dernier message: 24/05/2014, 19h24

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