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 :

[VBA] problème choix de cellule dans feuille excel


Sujet :

Macros et VBA Excel

  1. #1
    Membre éprouvé
    Avatar de beegees
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2004
    Messages
    3 610
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2004
    Messages : 3 610
    Points : 1 277
    Points
    1 277
    Par défaut [VBA] problème choix de cellule dans feuille excel
    Bonjour le forum,

    J’ai essayé de faire le plus par moi-même mais maintenant je suis bloqué.

    J’ai du code VBA qui me permet de contrôler la valeur des cellules.

    Si une cellule correspond à 7, j’écris en J3 « 3 », si il rencontre à nouveau un 7, j’ajoute « 3 » à ce total.

    Même chose pour 8 (10-8=2) sauf que je met 2 et pour 9 je met 1 (10-9=1)

    Voici le code commenté :
    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
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
     
    Sub balance()
    '
    ' balance Macro
    ' Macro enregistrée le 22/01/2006 
    '
    Dim balance7 As Byte
    Dim balance8 As Byte
    Dim balance9 As Byte
     
    'début: car à la fin de la procédure, il y'a un goto début qui dit de revenir faire la boucle
    debut:
    'fait tant que la couleur de la police de la cellule active = à bleue (5)
    Do Until ActiveCell.Font.ColorIndex <> 5
     
    'si la valeur de la cellule active = 7, alors
    If ActiveCell.Value = "7" Then
    ActiveCell.Interior.ColorIndex = 15
    'je donne à la cellule nommée balance7 la valeur de la variable "balance7" + 3 (J3)
    Application.Range("balance7").Offset(1, 0) = balance7 + 3
    'la valeur de la variable "balance7" prend sa nouvelle valeur.
    balance7 = Application.Range("balance7").Offset(1, 0).Value
    End If
    If ActiveCell.Value = "8" Then
    ActiveCell.Interior.ColorIndex = 15
    Application.Range("balance8").Offset(1, 0) = balance8 + 2
    balance8 = Application.Range("balance8").Offset(1, 0).Value
    End If
    If ActiveCell.Value = "9" Then
    ActiveCell.Interior.ColorIndex = 15
    Application.Range("balance9").Offset(1, 0) = balance9 + 1
    balance9 = Application.Range("balance9").Offset(1, 0).Value
    End If
     
    'j'avance d'une collone
    ActiveCell.Offset(0, 1).Select
    Loop
     
    ‘Je descends d’une ligne
    ActiveCell.Offset(1, 0).Select
    ‘je vais une collone à gauche
    ActiveCell.Offset(0, -1).Select
    ‘jusqu’à ce que la couleur de la cellule soit différente de bleue
    Do Until ActiveCell.Font.ColorIndex <> 5
    ‘Je vais vers la gauche sur la même ligne
    ‘j’arrive sur le numéro de l’étudiant et j’avance d’un pour retourner à début
    ActiveCell.Offset(0, -1).Select
    Loop
     
    ‘je redone la valeur 0 aux variables
    balance7 = 0
    balance8 = 0
    balance9 = 0
     
    ‘si la valeur active = à rien
    If ActiveCell.Value = "" Then
    ‘j’arrête le programme
    Exit Sub
    ‘autrement
    Else
    ‘je vais à debut qui est une etiquette qui refait le programme (la boucle).
    GoTo debut
    End If
    End Sub
    Le problème est qu’il est sur la bonne ligne, check les bonnes cotes mais dès qu’il rencontre un 7, un 8 ou un 9 il additionne 1, 2 ou 3 en J3 au lieu de le mettre en J4

    J’espère avoir été assez claire, si vous voulez, je peux envoyer la page via le net.

    N’hésitez pas à me contacter si vous avez besoin de plus d’explications.

    Merci d’avance pour votre aide.

    .

  2. #2
    Membre habitué
    Inscrit en
    Mai 2005
    Messages
    335
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 335
    Points : 196
    Points
    196
    Par défaut
    j'ai pas bien compris le probleme tu voudrai avoir l'addition des 7 en J3 celle des 8 en J4 et celle des 9 en J5 c'est sa ?
    c'est des choses qui arrivent, c'est la vie...(>_<)!

  3. #3
    Expert confirmé
    Avatar de zazaraignée
    Profil pro
    Étudiant
    Inscrit en
    Février 2004
    Messages
    3 174
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2004
    Messages : 3 174
    Points : 4 085
    Points
    4 085
    Par défaut
    Salut

    N'est-il pas possible de traiter un tel cas uniquement avec une formule dans la cellule J3
    A2:A18 est la plage de données à vérifier et 7 est le critère.

  4. #4
    Membre éprouvé
    Avatar de beegees
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2004
    Messages
    3 610
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2004
    Messages : 3 610
    Points : 1 277
    Points
    1 277
    Par défaut
    Citation Envoyé par zazaraignée
    Salut

    N'est-il pas possible de traiter un tel cas uniquement avec une formule dans la cellule J3
    A2:A18 est la plage de données à vérifier et 7 est le critère.
    Salut,

    Ta proposition m'intéresse beaucoup merci !

    Mais je voudrais que quand il rencontre un 7 il fasse 10-7 (total 3) et si il rencontre encore un 7 sur la même ligne qui refasse 10-7 mais qu'il additionne le 3 d'avant donc total 6.

    C'est possible tu crois .

    Merci Zazaraignée

  5. #5
    Membre éprouvé
    Avatar de beegees
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2004
    Messages
    3 610
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2004
    Messages : 3 610
    Points : 1 277
    Points
    1 277
    Par défaut
    Citation Envoyé par ogenki
    j'ai pas bien compris le probleme tu voudrai avoir l'addition des 7 en J3 celle des 8 en J4 et celle des 9 en J5 c'est sa ?
    je voudrais que quand il rencontre un 7 il fasse 10-7 et ce pour tous les 7 (en additionnant tous les résultats obtenus).

    Merci !!!

    bgs

  6. #6
    Expert confirmé

    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 419
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 419
    Points : 4 297
    Points
    4 297
    Par défaut
    pour 7
    (NBCAR(C11)-NBCAR(SUBSTITUE(C11;"7";"")))*3
    pour 8
    (NBCAR(C11)-NBCAR(SUBSTITUE(C11;"8";"")))*2
    pour 9
    (NBCAR(C11)-NBCAR(SUBSTITUE(C11;"9";"")))
    Elle est pas belle la vie ?

  7. #7
    Membre expert
    Avatar de Igloobel
    Homme Profil pro
    Développeur ERP - VBA et Formateur bureautique
    Inscrit en
    Septembre 2005
    Messages
    1 869
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Développeur ERP - VBA et Formateur bureautique
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 869
    Points : 3 442
    Points
    3 442
    Billets dans le blog
    1
    Par défaut
    Salut,
    zazaraignée t'as donné la solution
    N'est-il pas possible de traiter un tel cas uniquement avec une formule dans la cellule J3

    A2:A18 est la plage de données à vérifier et 7 est le critère.
    Si en J3 tu met cette formule NB.SI va compter ton nombre de 7 puis il multiplie par 3

    (10-7)+(10-7)+(10-7)+(10-7) = 4*3 !
    puis tu fais la même chose avec J4 et J5

    Pour plus d'info fais F1 sur la formule NB.SI

    C'est de plus, à mon avis, la solution la plus simple !

    Igloobel
    Ils ne savaient pas que c'était impossible ... du coup ils l'ont fait (Mark Twain)

    n'oubliez pas de si les messages vous aide ou sont pertinents et de mettre quand cela est !

  8. #8
    Membre éprouvé
    Avatar de beegees
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2004
    Messages
    3 610
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2004
    Messages : 3 610
    Points : 1 277
    Points
    1 277
    Par défaut
    Citation Envoyé par Igloobel
    Salut,
    zazaraignée t'as donné la solution
    N'est-il pas possible de traiter un tel cas uniquement avec une formule dans la cellule J3

    A2:A18 est la plage de données à vérifier et 7 est le critère.
    Si en J3 tu met cette formule NB.SI va compter ton nombre de 7 puis il multiplie par 3

    (10-7)+(10-7)+(10-7)+(10-7) = 4*3 !
    puis tu fais la même chose avec J4 et J5

    Pour plus d'info fais F1 sur la formule NB.SI

    C'est de plus, à mon avis, la solution la plus simple !

    Igloobel
    Salut,

    Juste, c'est vraiment la solution la plus simple et la plus rapide.

    Merci à vous deux !

    Je met un résolu.

    A bientôt
    bgs

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

Discussions similaires

  1. problème insertion de données dans feuille excel
    Par UDSP50 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 28/12/2014, 16h25
  2. Réponses: 7
    Dernier message: 20/08/2012, 08h11
  3. Lecture commentaire cellule dans feuille Excel
    Par franckMenant dans le forum API, COM et SDKs
    Réponses: 15
    Dernier message: 28/04/2011, 11h06
  4. Réponses: 3
    Dernier message: 08/03/2007, 17h25
  5. [VBA-E] Recherche de cellules dans feuille
    Par cyber_N dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 05/05/2006, 10h38

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