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 :

Compter de cellules entre deux cellules variables [XL-2010]


Sujet :

Macros et VBA Excel

  1. #1
    Candidat au Club
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Juillet 2013
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Territoire de Belfort (Franche Comté)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2013
    Messages : 9
    Points : 2
    Points
    2
    Par défaut Compter de cellules entre deux cellules variables
    Bonjour Tout le monde,
    Après plusieurs tentatives de modification de macros existantes du même sujet, sans résultat.
    Je voudrais créer une macro qui permettra sur une page excel est sur la même colonne de trouver une cellule où y'est écrit "accepte", une autre ou y'a écrit "Réalise", de compter le nombre de cellules entre ces deux et d’insérer au niveau de la même page le résultat dans la cellule "O3" sous forme de "Résultat=....". Aidez moi svp! Urgent!!

  2. #2
    Inactif  
    Homme Profil pro
    Inscrit en
    Septembre 2012
    Messages
    1 733
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2012
    Messages : 1 733
    Points : 2 553
    Points
    2 553
    Par défaut
    un code à l'arrache qui marchera.

    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
    sub result()
    dim i as long, debut as long, fin as long, resultat as long
    with Sheets("lenomdetonsheet")
    For i = 1 to .range("A"& rows.count)
    If .range("A" & i) ="accepte" then
    debut = i
    end if
    If .range("A" & i) ="Réalise" then
    fin = i
    end if
    next i
    resultat = fin - debut -1
    .range("O3")= "Résultat= " & resultat
    end with
    end sub

  3. #3
    Candidat au Club
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Juillet 2013
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Territoire de Belfort (Franche Comté)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2013
    Messages : 9
    Points : 2
    Points
    2
    Par défaut
    Ca a l'air d'être un bon code à l'arrache. Mais ca m'afiche tjr -1 comme résultat
    Merci en tout cas!

  4. #4
    Inactif  
    Homme Profil pro
    Inscrit en
    Septembre 2012
    Messages
    1 733
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2012
    Messages : 1 733
    Points : 2 553
    Points
    2 553
    Par défaut
    accepte et realise sont sur quelle colonne ? As tu changé :
    with Sheets("lenomdetonsheet")

  5. #5
    Candidat au Club
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Juillet 2013
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Territoire de Belfort (Franche Comté)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2013
    Messages : 9
    Points : 2
    Points
    2
    Par défaut
    accepte et Réalise sont toujours en A, oui j'ai changé le nom de la feuille en feuil2 comme qui suit:
    Fichiers attachés Fichiers attachés

  6. #6
    Inactif  
    Homme Profil pro
    Inscrit en
    Septembre 2012
    Messages
    1 733
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2012
    Messages : 1 733
    Points : 2 553
    Points
    2 553
    Par défaut
    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
    Sub result()
    Dim i As Long, debut As Long, fin As Long, resultat As Long
    With Sheets("Feuil2")
    For i = 1 To .Range("A" & Rows.Count).End(xlUp).Row
    If .Range("A" & i) = "accepte" Then
    debut = i
    End If
    If .Range("A" & i) = "Réalise" Then
    fin = i
    End If
    Next i
    resultat = fin - debut - 1
    .Range("O3") = "Résultat= " & resultat
    End With
    End Sub

  7. #7
    Candidat au Club
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Juillet 2013
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Territoire de Belfort (Franche Comté)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2013
    Messages : 9
    Points : 2
    Points
    2
    Par défaut
    Wow! Merci énormément, ca marche enfin!
    Sinn si on veut remplacer ' with "la feuille dont on travaille" ' par une macro général a appliqué sur tout les feuille sans mentionner a chaque fois la feuille! c possible?
    question de ne pas recopier a chaque fois le même texte pour toute les feuille!

  8. #8
    Inactif  
    Homme Profil pro
    Inscrit en
    Septembre 2012
    Messages
    1 733
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2012
    Messages : 1 733
    Points : 2 553
    Points
    2 553
    Par défaut
    Pour toutes les feuilles du classeur ?
    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
    Sub result()
    Dim i As Long, debut As Long, fin As Long, resultat As Long
    dim sh as sheet
    dim wb as workbook
    for each sh in wb
    with sh
    For i = 1 To .Range("A" & Rows.Count).End(xlUp).Row
    If .Range("A" & i) = "accepte" Then
    debut = i
    End If
    If .Range("A" & i) = "Réalise" Then
    fin = i
    End If
    Next i
    resultat = fin - debut - 1
    .Range("O3") = "Résultat= " & resultat
    End With
    next
    End Sub

  9. #9
    Candidat au Club
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Juillet 2013
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Territoire de Belfort (Franche Comté)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2013
    Messages : 9
    Points : 2
    Points
    2
    Par défaut
    Je réponds à ma propre question:
    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
     
    Sub result()
    Dim i As Long, debut As Long, fin As Long, resultat As Long
     
    For i = 1 To Range("A" & Rows.Count).End(xlUp).Row
    If Range("A" & i) = "accepte" Then
    debut = i
    End If
    If Range("A" & i) = "Réalise" Then
    fin = i
    End If
    Next i
    resultat = fin - debut - 1
    Range("O3") = "Résultat= " & resultat
     
    End Sub
    Merci encore EngueEngue pour ton aide!

  10. #10
    Inactif  
    Homme Profil pro
    Inscrit en
    Septembre 2012
    Messages
    1 733
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2012
    Messages : 1 733
    Points : 2 553
    Points
    2 553
    Par défaut
    ton code ne marchera que pour la feuille active

    tu aurais pu mettre with activeworksheet

  11. #11
    Candidat au Club
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Juillet 2013
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Territoire de Belfort (Franche Comté)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2013
    Messages : 9
    Points : 2
    Points
    2
    Par défaut
    Oué! j'avoue ton code est mieux! il calcul la somme de cellules au niveau de toutes les feuilles! c ca?

    je l'ai appliqué, mais apparemment y'a qlq chose qui cloche au niveau de "For Each Sh In wb"

  12. #12
    Inactif  
    Homme Profil pro
    Inscrit en
    Septembre 2012
    Messages
    1 733
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2012
    Messages : 1 733
    Points : 2 553
    Points
    2 553
    Par défaut
    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
    Sub result()
    Dim i As Long, debut As Long, fin As Long, resultat As Long
    dim sh as worksheet
    for each sh in thisworkbook.sheets
    with sh
    For i = 1 To .Range("A" & Rows.Count).End(xlUp).Row
    If .Range("A" & i) = "accepte" Then
    debut = i
    End If
    If .Range("A" & i) = "Réalise" Then
    fin = i
    End If
    Next i
    resultat = fin - debut - 1
    .Range("O3") = "Résultat= " & resultat
    End With
    next 
    end sub

  13. #13
    Candidat au Club
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Juillet 2013
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Territoire de Belfort (Franche Comté)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2013
    Messages : 9
    Points : 2
    Points
    2
    Par défaut
    Parfait! Ca marche bien comme il faut!
    Franchement!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Toutes versions] algorithme ou matrice pour déterminer des cellules entre deux cellules formant une plage
    Par patricktoulon dans le forum Macros et VBA Excel
    Réponses: 16
    Dernier message: 01/04/2013, 18h01
  2. Calcul entre deux cellules différentes à chaque fois
    Par thomasisajerk dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 13/08/2010, 08h05
  3. [XL-2003] Comparer un une cellule entre deux feuilles
    Par alex santus dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 07/09/2009, 23h03
  4. Réponses: 2
    Dernier message: 10/10/2008, 20h35
  5. Probleme de comparaison entre deux cellules identiques
    Par GlamIS dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 04/07/2008, 14h50

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