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 :

Remplir une cellule en VBA


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre Expert

    Profil pro
    Inscrit en
    Juin 2003
    Messages
    1 229
    Détails du profil
    Informations personnelles :
    Localisation : Sénégal

    Informations forums :
    Inscription : Juin 2003
    Messages : 1 229
    Par défaut Remplir une cellule en VBA
    Bonjour

    j'ai un soucis pour donner une valeur à une cellule.

    le message d'erreur que je reçois est le suivant : Application-defined or object-defined error number 1004


    la fonctions
    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
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    Public Function myIndice(myGrp) As Integer
     
    On Error GoTo Indice_err
     
    Dim TabGrp1 As Variant, TabGrp2 As Variant
    Dim var1 As Integer, var2 As Integer
    Dim MonClasseur As Workbook
    Dim maFeuille As Worksheet
     
    Set MonClasseur = ActiveWorkbook
    Set maFeuille = MonClasseur.ActiveSheet
     
    TabGrp1 = Array(1728, 2447, 2358)
    TabGrp2 = Array(825, 1035, 1357)
     
    var1 = IIf(ActiveSheet.Range("E1") <> Null, ActiveSheet.Range("E1"), 0)
    var2 = IIf(ActiveSheet.Range("E2") <> Null, ActiveSheet.Range("E2"), 0)
     
     
    If myGrp = "I" Then
        If UBound(TabGrp1) = var1 Then
           Cells(1, 5).Value = 0
        Else
            Cells(1, 5).Value = var1 + 1
        End If
        myIndice = TabGrp1(var1)
    Else
        If UBound(TabGrp2) = var2 Then
            Cells(1, 5).Value = 0
        Else
            Cells(1, 5).Value = var2 + 1
        End If
        myIndice = TabGrp2(var2)
    End If
     
     
    Indice_err:
        MsgBox ("Erreur : " & Err.Description & " number : " & Err.Number)
    End Function
    Merci

  2. #2
    Inactif  

    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2012
    Messages
    4 903
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2012
    Messages : 4 903
    Billets dans le blog
    36
    Par défaut
    Bonjour,

    Je te dirais de désactiver ta gestion d'erreur. Ensuite le programme devrait s'arrêter pile sur la bonne ligne. En sachant quelle ligne plante exactement, ce devrait être plus facile de t'aider.

    Ceci dit, en regardant de nouveau ton code, je ne suis pas sûr que l'on puisse utiliser Null de cette façon dans ces deux lignes:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    var1 = IIf(ActiveSheet.Range("E1") <> Null, ActiveSheet.Range("E1"), 0)
    var2 = IIf(ActiveSheet.Range("E2") <> Null, ActiveSheet.Range("E2"), 0)
    Tu pourrais essayer de cette façon:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    var1 = IIf(ActiveSheet.Range("E1") <> "", ActiveSheet.Range("E1"), 0)
    var2 = IIf(ActiveSheet.Range("E2") <> "", ActiveSheet.Range("E2"), 0)

  3. #3
    Membre Expert

    Profil pro
    Inscrit en
    Juin 2003
    Messages
    1 229
    Détails du profil
    Informations personnelles :
    Localisation : Sénégal

    Informations forums :
    Inscription : Juin 2003
    Messages : 1 229
    Par défaut
    Merci de la réponse.

    La gestion des erreurs c'est juste pour savoir le type d'erreur qui survient afin de faire des recherches.

    la ligne qui pose probléme c'est

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Cells(1, 5).Value = var1 + 1
    et même en mettant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Range("E1").Value=var1+1
    j'ai la même erreur.

Discussions similaires

  1. remplir une cellule excel a partir d'un combobox en userform
    Par rocofolie dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 07/09/2007, 15h54
  2. Ecrire dans une cellule en VBA
    Par ade94 dans le forum VBA Access
    Réponses: 1
    Dernier message: 04/07/2007, 17h15
  3. Reference a une cellule sur VBA
    Par nicoroth dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 02/07/2007, 12h39
  4. Formater une cellule en VBA pour recevoir une date
    Par *.Har(d)t dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 09/05/2007, 17h39
  5. remplir une table par VBA
    Par gwen_oc dans le forum Access
    Réponses: 3
    Dernier message: 22/02/2007, 15h04

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