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 :

Comptage de valeurs


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 31
    Par défaut Comptage de valeurs
    Edit AlainTech: Message sorti de cette discussion.

    Citation Envoyé par julien.63 Voir le message
    salut,

    Je travaille pour un besoin ponctuelle sur une macro sous excel.
    J'ai donc un tableau avec des en têtes séparés par plusieurs lignes et plusieurs colonnes.
    J'ai commencé à faire une boucle pour déterminer les cellules aux intersections de mes en têtes de lignes et de colonnes (cellules non vides).

    Mais la boucle ne fonctionne pas...

    merci d'avance pour un petit coup de pouce.

    julien

    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
    Private Sub CommandButton1_Click()
    QICalc.Hide
     
    Dim max_line As Integer
    Dim max_col As Integer
    Dim num_samp As Integer
    Dim num_loci As Integer
    Dim num_rep As Integer
    Dim line As Integer
    Dim col As Integer
    line = 3
    col = 2
     
    max_line = TextBox1
    max_col = TextBox2
    num_samp = TextBox3
    num_loci = TextBox4
    num_rep = TextBox5
     
    Do While line < max_line
        If Not IsEmpty(Cells(line, 1)) Then
            Do While col < max_col
                If Not IsEmpty(Cells(2, col)) Then  
                Cells(line, col).Select
                With Selection.Interior
                    .ColorIndex = 3
                    .Pattern = xlSolid
                Cells(line, col).Formula = line
                End With
                End If
                col = col + 1
            Loop
        End If
    line = line + 1
    MsgBox ("line " & line) 'test
    Loop
     
     
    End Sub

    bonjour

    je me suis permis d'utiliser ce bout de code pour mon prog !
    je l'ai testé seul dans un premier temps et ca marche impec,
    mais (bien sur y a un mais), des que je l insert dans la partie de mon prog j ai une erreur du genre : erreur definie par l'application, ou par l'objet et ce sur le 2eme (If Not IsEmpty(Cells(line, col)) Then)

    si joint la partie de mon code :

    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
    40
    41
    42
    43
    44
    Private Sub Cmd_Ajouter_Click()
    
    Dim ligne, X, I, J As Integer
    Dim col As String
    Dim Tmp, Tmp_LargMini, Tmp_LargMaxi
        'selectionne la page D60 1vantail renfort 100%
       
       If Opt_OB1bra.Value = True Then Sheets("D60-1vtl-blanc").Select
       If Opt_OB1br.Value = True Then Sheets("1vtl-rf100%").Select
       If Opt_OB1color.Value = True Then Sheets("D60-1vtl-rf100%Colorline").Select
       If Opt_OB1paxin.Value = True Then Sheets("D60-1vtl-Plaxé1fint").Select
       If Opt_OB1paxex.Value = True Then Sheets("D60-1vtl-rf100%Plaxé1fext").Select
       If Opt_OB1pax2.Value = True Then Sheets("D60-1vtl-rf100%Plaxé2f").Select
       
     ' ==============VERIFICATION DES ERREURS PPOSSIBLE CASE NON RENSEIGNEES
            ' recheche de la dernier cellule avec texte
            
         Cells.Find(What:="H        L", After:=ActiveCell, LookIn:=xlFormulas, _
            LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
            MatchCase:=False, SearchFormat:=False).Activate
    
                line = ActiveCell.Row
                col = ActiveCell.Column
                
    max_line = 10
    max_col = 15
    num_samp = 10
    num_loci = 5
    num_rep = 5
     
    Do While line < max_line
        If Not IsEmpty(Cells(line, 1)) Then
            Do While col < max_col
                If Not IsEmpty(Cells(line, col)) Then   ' === ici ce produit l'erreur ??
                Cells(line, col).Select
                    Else
                    Exit Do
                End If
                col = col + 1
                Tmp = ActiveCell.FormulaR1C1
            Loop
        End If
    line = line + 1
    Loop
    ha oui j'oubliais:
    je l'utilise dans un Userform, je ne sais pas si cela a de l'importance ?

    merci pour votre aide

  2. #2
    Modérateur
    Avatar de AlainTech
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mai 2005
    Messages
    4 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2005
    Messages : 4 235
    Par défaut
    Quelle est la valeur de col juste avant le message d'erreur?
    N'oubliez pas de cliquer sur quand vous avez obtenu ou trouvé vous-même la réponse à votre question.
    Si vous trouvez seul, pensez à poster votre solution. Elle peut servir à d'autres!
    Pensez aussi à voter pour les réponses qui vous ont aidés.
    ------------
    Je dois beaucoup de mes connaissances à mes erreurs!

  3. #3
    Membre chevronné Avatar de mordrhim
    Inscrit en
    Avril 2007
    Messages
    270
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Avril 2007
    Messages : 270
    Par défaut
    le problème doit venir d'ici, tu définis col comme une chaine de caratère

    imaginons donc que la cellule active soit "C5" la ligne te donnant l'erreur fait le test suivant d'ou le problème

Discussions similaires

  1. [SQL] Comptage suivant valeur
    Par jeronimo83 dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 17/07/2008, 14h44
  2. Comptage des valeurs de type #empty
    Par chantalou dans le forum SQL
    Réponses: 3
    Dernier message: 22/05/2008, 10h41
  3. VBA-E comptage de valeurs
    Par bernard38 dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 18/10/2006, 09h50
  4. [Requètes] Comptage de valeurs
    Par Virgile59 dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 22/09/2006, 08h32
  5. Comptage par valeur
    Par solp dans le forum Langage SQL
    Réponses: 6
    Dernier message: 22/03/2006, 04h16

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