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 :

Besoin d'aide - VBA [XL-2003]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Mai 2013
    Messages
    75
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ressources humaines
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mai 2013
    Messages : 75
    Par défaut Besoin d'aide - VBA
    Bonjour à tous,

    J'appelle à vous car je n'ai pas de connaissance en VBA, uniquement quelques bases en VB.
    Je travaille sur Excel 2003.


    Voilà mon problème :

    Je souhaite créer une macro permettant de faire :

    Tester sur les une cinquantaines premières cellule de la colonne A si la cellule contient le caractère P, si elle contient, alors :
    Établir le calcule suivant :

    '
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     Touche de raccourci du clavier: Ctrl+q
    '
        Range("H5").GoalSeek Goal:=0, ChangingCell:=Range("D5")
    Mais cela pour toutes les lignes où il y a P dans la cellule de la colonne A. Et non, une instruction précise H5 ET D5 mais : à la même ligne que le P et avec H et D de cette même ligne.

    Je sais pas si je suis très clair...

    Pour l'instant voici mon travail :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Sub RechercheP()
     
        Dim Wb As Workbook
        Dim Ws As Worksheet
        Dim Cell As Range
     
        For Each Wb In Application.Workbooks
                For Each Cell In Ws.Range("A1:A50")
                    If Cell.Value = "P" Then 
    Range("H5").GoalSeek Goal:=0, ChangingCell:=Range("D5")
                Next Cell
            Next Ws
    End Sub

    Seulement, je pense qu'il faudrait plutôt que je passe par un
    For i = 1 to 50
    Tester ligne par ligne non ?

    Cordialement,

  2. #2
    Invité
    Invité(e)
    Par défaut
    Salut Thomas93 et bienvenue sur ce forum

    Perso, je n'est rien compris à ta demande

    Un petit fichier avec le résultat escompté serait, je pense plus simple à comprendre

    A+

  3. #3
    Membre confirmé
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Mai 2013
    Messages
    75
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ressources humaines
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mai 2013
    Messages : 75
    Par défaut Besoin d'aide - VBA
    Je m'en douté un peu..

    Pour refaire, en plus simple :

    A la base, j'ai fait une macro enregistrer qui est (en faisant valeurs cibles) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Range("H5").GoalSeek Goal:=0, ChangingCell:=Range("D5")
    Mais maintenant, j'aimerais :

    Tester, cellule par cellule dans la colonne A, si "P" est inscrit, alors :
    Effectuer ce calcul sur la ligne où P est inscrit.

    Voilà c'est peut être plus clair
    Enfin je l’espère !

  4. #4
    Expert éminent


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Par défaut
    bonjour,

    tu parle de tester si égal à P ? pourquoi ce code alors :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If Cell.Value = "c" Then
    ?

    ensuite ton objet range : Cell , représente en chaque tour de cycle la cellule A de ta ligne en cours pour accéder aux autres colonnes de la même ligne tu peu utiliser "offset" ainsi pour la cellule b :
    à toi de compter le nombre de colonnes d'écart pour tes autres cellules

  5. #5
    Membre confirmé
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Mai 2013
    Messages
    75
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ressources humaines
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mai 2013
    Messages : 75
    Par défaut
    Oups, parce que avant c'était "c" ... et j'ai oublié de modifier dessus..

    D'accord, mais là où je bloque et je comprends pas comment faire c'est au moment de :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    If Cell.Value = "P" Then 
     
    Range("Cell.offset (0,7)").GoalSeek Goal:=0, ChangingCell:=Range("Cell.offset (0, 3)")
    Comme ça ?

  6. #6
    Expert éminent


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Par défaut
    la touche aurait pu t'aider pour offset :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Cell.offset(0,7).GoalSeek Goal:=0, ChangingCell:=Cell.offset(0,3)

  7. #7
    Membre confirmé
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Mai 2013
    Messages
    75
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ressources humaines
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mai 2013
    Messages : 75
    Par défaut Besoin d'aide - VBA
    Je vous remercie beaucoup !

    A+

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

Discussions similaires

  1. [XL-2013] Besoin d'aide VBA Excel sur les cases a cocher
    Par Mel_38 dans le forum Excel
    Réponses: 4
    Dernier message: 16/05/2014, 15h02
  2. Besoin d'aide vba/macro fichier excel
    Par flom93 dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 22/03/2013, 22h46
  3. [XL-2010] Besoin d'aide VBA excel
    Par thirdeye dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 08/09/2010, 19h29
  4. [VBA-E]besoin d'aide pour faire une boucle
    Par mikazounette dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 10/04/2006, 14h04
  5. [VBA-E] besoin d'aide excel et formulaire
    Par lolo_the_fripouille dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 01/04/2006, 07h11

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