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 :

Code VBA pour rechercher et remplacer une valeur dans une plage de données


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2016
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2016
    Messages : 8
    Par défaut Code VBA pour rechercher et remplacer une valeur dans une plage de données
    Bonjour,
    Je suis désolé, je suis novice en programmation vba.
    Voici mon problème:

    Connu:
    -Valeur cellule "E13"
    -Valeur cellule "C10"
    -Plage de donnée D4 : D8

    Action que je souhaite faire par macro:
    -Cliquer sur un bouton "macro"
    -Cela copie les valeurs de la plage D4 : D8 vers la plage F4:F8
    -Cela recherche la valeur de la cellule E13 dans la plage F4:F8
    -Cela remplace cette valeur recherchée par la valeur de la cellule C10

    Pourriez-vous m'aider à rédiger ce programme.

    En vous remerciant.
    Images attachées Images attachées  

  2. #2
    Expert confirmé Avatar de casefayere
    Homme Profil pro
    RETRAITE
    Inscrit en
    Décembre 2006
    Messages
    5 138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : RETRAITE
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 138
    Par défaut
    Bonjour,
    essayes
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Dim Cel As Range
    Range("F4:F8").Value = Range("D4:D8").Value
    Set Cel = Range("F4:F8").Find(Range("E13"))
    If Not Cel Is Nothing Then Cel = Range("C10")
    Cordialement,
    Dom
    _____________________________________________
    Vous êtes nouveau ? pour baliser votre code, cliquer sur cet exemple : Anomaly
    pensez à cliquer sur :resolu: si votre problème l'est
    Par contre, il est désagréable de voir une discussion résolue sans message final du demandeur (satisfaction, désarroi, remerciement, conclusion...)

  3. #3
    Membre habitué
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2016
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2016
    Messages : 8
    Par défaut
    Hello Casefayère,

    je te remercie, cela fonctionne à la perfection.
    J'ai essayé de traduire ton code pour traduire le déroulement de la macro:

    Nom : 827539722.png
Affichages : 7030
Taille : 10,6 Ko

    Merci beaucoup

  4. #4
    Expert éminent Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Par défaut
    Citation Envoyé par Orel33 Voir le message
    Dim Cel As Range ' Que signifie cette ligne ?
    Déclaration de variable
    https://msdn.microsoft.com/fr-fr/lib.../gg251750.aspx

  5. #5
    Membre habitué
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2016
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2016
    Messages : 8
    Par défaut
    Merci beaucoup vous êtes top .

  6. #6
    Expert confirmé Avatar de casefayere
    Homme Profil pro
    RETRAITE
    Inscrit en
    Décembre 2006
    Messages
    5 138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : RETRAITE
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 138
    Par défaut
    je vois que tu n'as vraiment pas beaucoup de notions,
    donc, 1ère chose, je ne sais pas si tu le fais, provoquer la déclaration des variables obligatoire

    Nom : explicit.JPG
Affichages : 7300
Taille : 40,3 Ko

    maintenant

    je déclare mes variable juste après "Sub" Cel représente ici une variable "Object" en l'occurrence, un "Range"
    ça aide quand on utilise "Find" afin d'éviter les erreurs
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Range("F4:F8").Value = Range("D4:D8").Value
    j'aurais pu utiliser "Copy" mais j'ai estimé que tu ne prenais que les valeurs donc code raccourci

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Set Cel = Range("F4:F8").Find(Range("E13"))
    on cherche donc la valeur de E13 dans la plage
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If Not Cel Is Nothing Then Cel = Range("C10")
    si la recherche est fructueuse on attribue la nouvelle valeur ("C10") à Cel qui représente la cellule trouvée
    Cordialement,
    Dom
    _____________________________________________
    Vous êtes nouveau ? pour baliser votre code, cliquer sur cet exemple : Anomaly
    pensez à cliquer sur :resolu: si votre problème l'est
    Par contre, il est désagréable de voir une discussion résolue sans message final du demandeur (satisfaction, désarroi, remerciement, conclusion...)

  7. #7
    Membre habitué
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2016
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2016
    Messages : 8
    Par défaut
    Merci beaucoup, oui je vais paramétrer mon Excel pour provoquer la déclaration des variables obligatoires.

    J'ai du boulot pour apprendre le code vba, c'est vraiment un langage qui m'intéresse et je pense qu'en entreprise c'est fort utile .

    Encore une fois merci.

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

Discussions similaires

  1. Réponses: 6
    Dernier message: 22/03/2016, 14h14
  2. [XL-2010] VBA EXCEL: rechercher et remplacer la valeur d'une cellule
    Par LANGAZOU dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 07/11/2015, 19h20
  3. Réponses: 1
    Dernier message: 13/04/2015, 11h17
  4. Réponses: 8
    Dernier message: 28/11/2011, 11h40
  5. Recherche une valeur d'une cellule dans une colonne d'une autre feuille
    Par kourria dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 21/06/2007, 13h48

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