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 remplacer le contenu de cellules


Sujet :

Macros et VBA Excel

  1. #1
    Futur Membre du Club
    Inscrit en
    Août 2010
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Août 2010
    Messages : 5
    Par défaut Code VBA pour remplacer le contenu de cellules
    Bonjour,

    J'ai besoin d'un coup de main svp:
    Le fichier contient un tableau avec en première ligne des nombres et le reste des ligne des pourcentages. Je souhaite afficher une étoile dans les cellules des colonnes dont la première cellule (appartenant donc à la première ligne) contient un nombre inférieur à 10. (pour plus de clarté voir PJ).

    Une autre condition (independante de la 1ere) à respecter: si une cellule (n'importe laquelle) contient : "#DIV/0!" remplacer par "*".

    Voila, peut être qu'il faut utiliser VBA (j'y connais rien, d'ailleurs si qqun connait un bon tuto pour débutant (très)).

    Merci d'avance

  2. #2
    Membre très actif Avatar de Nako_lito
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mai 2008
    Messages
    793
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Mai 2008
    Messages : 793
    Par défaut
    tu veux quoi au juste ? du VBA ou une fonction Excel ?
    si c'est une fonction Excel => post a deplacer.

    Mais je vais quand même répondre pour pas te faire faire 50 000 allé retour.

    Tu as la fonction SI() qui te permet de gérer une condition:

    =SI(A1 > 10; "*"; A1)

    attention > (supérieur) est different de >= (supérieur ou égal)
    dans le premier cas => 10 sera affiché
    dans le second cas => 10 sera remplacé par *

    pour ton second problème c'est la meme condition. tu fais un teste sur la cellule, et si elle contient ce que tu cherche, tu remplace, sinon tu laisse.

  3. #3
    Futur Membre du Club
    Inscrit en
    Août 2010
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Août 2010
    Messages : 5
    Par défaut
    Bonjour,

    Merci pour ta réponse mais la solution que tu propose ne marche pas.
    Je ne pense pas que le problème puisse être résolu par une simple formule!

    Bonne journée

  4. #4
    Membre très actif Avatar de Nako_lito
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mai 2008
    Messages
    793
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Mai 2008
    Messages : 793
    Par défaut
    y'a des formules a la base dans les cellules ? sinon, tu fais une macro simple.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    For each cels in thisworkbooks.sheets(1).Cells
    if cels > 10 then
     cels = "*"
    End
     
    if cels = "#DIV/0!" then
     cels = "*"
    End if
    Next

  5. #5
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Inscrit en
    Juillet 2007
    Messages
    14 682
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Canada

    Informations professionnelles :
    Activité : Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 682
    Par défaut
    Salut,
    la fonction qui peut etre utilisee ici serait ISERROR()

    Si celle-ci n'est pas suffisante, on peut effectivement passer par du VBA.
    Cycle de vie d'un bon programme :
    1/ ça fonctionne 2/ ça s'optimise 3/ ça se refactorise

    Pas de question technique par MP, je ne réponds pas

    Mes ouvrages :
    Migrer les applications VBA Access et VBA Excel vers la Power Platform
    Apprendre à programmer avec Access 2016, Access 2019 et 2021

    Apprendre à programmer avec VBA Excel
    Prise en main de Dynamics 365 Business Central

    Coffrets disponibles de mes ouvrages : https://www.editions-eni.fr/jean-philippe-andre
    Pensez à consulter la FAQ Excel et la FAQ Access

    Derniers tutos
    Excel et les paramètres régionaux
    Les fichiers Excel binaires : xlsb,

    Autres tutos

  6. #6
    Futur Membre du Club
    Inscrit en
    Août 2010
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Août 2010
    Messages : 5
    Par défaut
    Bonjour,

    Tout d'abord merci pour vos réponses.

    @Nako_lito : Je pense que tu n'as pas bien pris le temps de lire mon poste pour comprendre exactement mon besoin. Les cellules contiennent des valeurs (cf. fichier joint). Sinon je répète que je ne comprend rien à VBA, donc si tu as la gentillesse de me fournir un code, prend en compte ce point stp.

    @jpcheck : La fonction proposée ne répond pas au besoin non plus.

    Autre précision: l'objectif est que le contenu soit remplacé par une "*" et non uniquement l'affichage.

    Encore merci.

    Bonne journée

  7. #7
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Inscrit en
    Juillet 2007
    Messages
    14 682
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Canada

    Informations professionnelles :
    Activité : Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 682
    Par défaut
    Bonjour,

    je t'invite a lire ceci, concernant l'usage des pieces jointes.

    Nous sommes disposes a te donner un coup de main, mais pas a faire le travail pour toi. Le concept de forum d'entraide etant de t'apprendre a pecher et pas a pecher pour toi

    Aussi, si tu peux nous indiquer ce que tu souhaites obtenir, les essais et methodes qui n'ont pas pu aboutir, et la solution que tu testes actuellement mais sur laquelle tu bloques.

    La premiere question porte sur la valeur 10, une solution t'a ete proposee.
    Si elle ne te convient pas, peux-tu stp nous indiquer pourquoi elle ne convient pas ?

    On peut avancer, mais si on avance dans la meme direction, tout le monde sera gagnant.

    Merci pour nous
    Cycle de vie d'un bon programme :
    1/ ça fonctionne 2/ ça s'optimise 3/ ça se refactorise

    Pas de question technique par MP, je ne réponds pas

    Mes ouvrages :
    Migrer les applications VBA Access et VBA Excel vers la Power Platform
    Apprendre à programmer avec Access 2016, Access 2019 et 2021

    Apprendre à programmer avec VBA Excel
    Prise en main de Dynamics 365 Business Central

    Coffrets disponibles de mes ouvrages : https://www.editions-eni.fr/jean-philippe-andre
    Pensez à consulter la FAQ Excel et la FAQ Access

    Derniers tutos
    Excel et les paramètres régionaux
    Les fichiers Excel binaires : xlsb,

    Autres tutos

  8. #8
    Futur Membre du Club
    Inscrit en
    Août 2010
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Août 2010
    Messages : 5
    Par défaut
    Bonjour,

    Au temps pour moi. Sur d'autre forum d'aire Excel, le fichier exemple est presque "exigé" pour faciliter la compréhension. Je suis parti du même principe sur ce forum.

    Ceci étant mon premier poste décrit bien ma demande.

    Quant aux solutions proposées, je les ai essayé et ça ne marche pas tout simplement.

    Sinon pour la pêche , j'ai bien précisé que je ne connaissais rien à VBA (mais alors là vraiment rien) et demandé un tuto si possible.

    Si tu estime que je n'ai pas expliqué clairement mon besoin, il suffit de me poser des questions afin de clarifier la demande.

    Pour finir, encore merci de prendre le temps de me répondre.

    Bonne journée

  9. #9
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Inscrit en
    Juillet 2007
    Messages
    14 682
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Canada

    Informations professionnelles :
    Activité : Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 682
    Par défaut
    Concernant la manipulation des cellules en VBA et les formules sous Excel, je peux te proposer les tutoriaux suivants :
    http://silkyroad.developpez.com/Excel/FonctionsExcel/
    le tuto le plus adequat pour ta problematique selon moi :
    http://silkyroad.developpez.com/VBA/GestionErreurs/
    notamment la partie http://silkyroad.developpez.com/VBA/...Erreurs/#LII-C

    Pour le code,
    les cours proposes traitent de plusieurs sujets, aussi je t'encourage a y jeter un oeil
    http://excel.developpez.com/cours/?p...#environnement
    Cycle de vie d'un bon programme :
    1/ ça fonctionne 2/ ça s'optimise 3/ ça se refactorise

    Pas de question technique par MP, je ne réponds pas

    Mes ouvrages :
    Migrer les applications VBA Access et VBA Excel vers la Power Platform
    Apprendre à programmer avec Access 2016, Access 2019 et 2021

    Apprendre à programmer avec VBA Excel
    Prise en main de Dynamics 365 Business Central

    Coffrets disponibles de mes ouvrages : https://www.editions-eni.fr/jean-philippe-andre
    Pensez à consulter la FAQ Excel et la FAQ Access

    Derniers tutos
    Excel et les paramètres régionaux
    Les fichiers Excel binaires : xlsb,

    Autres tutos

  10. #10
    Futur Membre du Club
    Inscrit en
    Août 2010
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Août 2010
    Messages : 5
    Par défaut
    Bonjour,

    @jpcheck: Merci pour le lien

    @Nako_lito: Je n'ai aucune notion de programmation mais sauf erreur le fait que je fasse manuellement ce que je cherche à faire grâce à un code n'avancera à rien dans ce cas bien précis puisque la condition pour changer le contenu des colonne en étoile ne sera pas reflété dans le code.

    Merci

Discussions similaires

  1. [XL-2002] Code VBA pour remplacer la fonction RECHERCHEV
    Par NoodleDS dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 24/07/2013, 09h58
  2. [Toutes versions] Macro ou code VBA pour effacer des caracteres et aller a la ligne dans un meme cellule
    Par ghisunit dans le forum Macros et VBA Excel
    Réponses: 9
    Dernier message: 07/04/2012, 15h29
  3. Code VBA pour Copier une cellule dans un filtre?
    Par Redisdead dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 12/02/2009, 05h48
  4. Code VBA pour effacement de contenu de cellules
    Par MAMANHOU dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 18/03/2008, 15h51

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