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

Microsoft Office Discussion :

Remplacer du texte dans une colonne


Sujet :

Microsoft Office

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Enseignant
    Inscrit en
    Juin 2014
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Juin 2014
    Messages : 21
    Points : 7
    Points
    7
    Par défaut Remplacer du texte dans une colonne
    Bonjour à tous,
    Voici plusieurs jours que je cherche, lis des tutoriels, notamment sur ce site, mais, étant débutant, j'ai du mal à trouver la solution à mon problème... que je vous expose.

    Je n'ai jusqu'alors jamais trouvé de logiciel de budget personnel qui me convienne, ce n'est que tout récemment que je suis parvenu avec excel à réaliser quelque chose qui ressemble à ce que j'attendais.

    Dans mon tableau(d'un nombre de ligne en constante augmentation), pour chaque opération, lorsque je fais mes comptes, je pointe les opérations prises en comptes par ma banque afin de retrouver le même solde qui figure sur mon relevé.

    Dans ma colonne de "pointage" j'ai donc des cellules qui sont marquées "pointé" et d'autres qui sont pour l'instant vide.

    Je souhaiterai pouvoir remplacer toutes les cellules "pointées" de la colonne (F) par le mot "Rapproché"

    Désopilant de simplicité n'est ce pas ?... je cherche avec des For, des if, des fonctions "dernière lignes" mais je n'arrive pas à organiser tout cela...

    Merci pour votre aide

    ps: J'ai bien vu qu'il y avait des solutions approchantes de proposées, mais je ne parviens pas à les adapter à ma situation.

  2. #2
    Inactif  

    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2012
    Messages
    4 904
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2012
    Messages : 4 904
    Points : 10 168
    Points
    10 168
    Billets dans le blog
    36
    Par défaut
    Bonjour,

    Si j'ai bien compris, c'est une opération à faire une seule fois. Donc, c'est inutile d'utiliser VBA pour cela. Directement de l'interface d'Excel, soit dans un menu quelconque (j'ai oublié lequel), pour les "vieux Excel", soit au bout du ruban "Accueil", pour les "jeunes Excel", il y a le bouton "Rechercher" avec son "sous-bouton" remplacer. Sinon, cela va prendre plus de détails.
    À ma connaissance, le seul personnage qui a été diagnostiqué comme étant allergique au mot effort. c'est Gaston Lagaffe.

    Ô Saint Excel, Grand Dieu de l'Inutile.

    Excel n'a jamais été, n'est pas et ne sera jamais un SGBD, c'est pour cela que Excel s'appelle Excel et ne s'appelle pas Access junior.

  3. #3
    Expert éminent sénior 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
    Points : 32 866
    Points
    32 866
    Par défaut
    Je suppose qu'il doit y avoir une réponse tout à fait logique à la question que je vais poser mais je la pose quand même :
    Pourquoi créer une macro pour faire quelque chose qui ne prend que quelques secondes à faire à la main ?

    Tu sélectionnes ta colonne.
    Ruban Accueil > Recherche et sélectionner > Remplacer
    Recherche = pointées
    Remplacer par = Rapproché
    Remplacer tout

    A moins que l'idée soit de l'intégrer à un processus plus vaste.
    Merci de cliquer sur pour chaque message ayant aidé puis sur pour clore cette discussion.

  4. #4
    Futur Membre du Club
    Homme Profil pro
    Enseignant
    Inscrit en
    Juin 2014
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Juin 2014
    Messages : 21
    Points : 7
    Points
    7
    Par défaut
    Bonjour,

    Je trouve plus facile de cliquer sur un bouton, cela m'évite de retaper le mot et c'est plus convivial si en plus je crée un userform pour demander confirmation de l'action à effectuer (du reste, je n'avais même pas fait attention au fait que la fonction rechercher-remplacer existait sur excel... pourtant je l'utilise sur word !!!)

    je progresse dans mes recherches puisque j'arrive maintenant à remplacer la valeur sur la première ligne de mon tableau... ça doit être un souci de boucle !

    voici ou j'en suis...

    Sub rapprocher()

    ' Déclaration des variables
    Dim x As Integer, y As String, z As String, dl As Integer

    'Valeur des variables
    x = 2 ' deuxième ligne du tableau
    y = "Pointé"
    z = "Rapproché"
    dl = Range("A1").End(xlDown).Row 'numéro de dernière ligne

    'Boucle
    For x = x To dl

    'Condition si
    If Cells(x, 12).Value = y Then
    Cells(x, 12).Value = z

    End If

    Next



    End Sub

    Merci beaucoup pour votre aide.

  5. #5
    Expert éminent sénior 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
    Points : 32 866
    Points
    32 866
    Par défaut
    Citation Envoyé par Phorkys Voir le message
    si en plus je crée un userform pour demander confirmation de l'action à effectuer
    Si c'est juste pour une confirmation, un MsgBox sera bien plus simple.

    je progresse dans mes recherches puisque j'arrive maintenant à remplacer la valeur sur la première ligne de mon tableau... ça doit être un souci de boucle !
    Je ne comprends pas pourquoi tu te complique la vie à passer par les Value de chaque case.

    Pourquoi ne pas mettre en macro la méthode que je t'ai donné en manuel ?
    Un coup d'enregistrement automatique et 90% du travail sera fait.
    Pour peu que tu étudies un peu de près ce qui est généré, tu peux résumer ça à une seule ligne (y compris le test sur la MsgBox)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
        dl = Range("A1").End(xlDown).Row 'numéro de dernière ligne
    Je te conseille plutôt
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    dl = Cells(1,Rows.Count).End(xlUp).Row
    Ce code part de la dernière ligne possible (Rows) pour lancer la recherche vers le haut.
    L'avantage, c'est qu'il trouve vraiment la dernière ligne alors que ta commande s'arrête à la première cellule vide.

    Houla !!! Surtout pas !
    "x = x" dans une boucle For to, c'est à éviter.

    Remplace ton second "x" par le numéro de ta première ligne de recherche.
    Merci de cliquer sur pour chaque message ayant aidé puis sur pour clore cette discussion.

  6. #6
    Futur Membre du Club
    Homme Profil pro
    Enseignant
    Inscrit en
    Juin 2014
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Juin 2014
    Messages : 21
    Points : 7
    Points
    7
    Par défaut
    Waou, c'est trop fort, effectivement, il suffisait d'enregistrer une macro...

    ça marche, merci beaucoup.

    Merci aussi pour les conseils de rédaction de code, est-il besoin de le dire, je crois que cela se voie que je débute... mais je trouve ça sympa.
    Pour autant, je crois qu'il va falloir que je lise un maximum de tutoriels, sinon je risque de vous lasser avec mes problèmes de débutants.
    J'ai vu qu'il existait un bouquin " le VBA pour les nuls" quelqu'un a t'il un avis sur ces ouvrages ?

    Je vais malgré tout essayer de voir si j'arrive à finaliser mon code avec vos conseils, histoire de progresser un peu.

    Merci à vous.

  7. #7
    Expert éminent sénior 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
    Points : 32 866
    Points
    32 866
    Par défaut
    Citation Envoyé par Phorkys Voir le message
    Waou, c'est trop fort, effectivement, il suffisait d'enregistrer une macro...
    Pense quand même à modifier la limite de la zone modifiée (voir la ligne de code que j'ai écris sur la propriété End).

    Merci aussi pour les conseils de rédaction de code, est-il besoin de le dire, je crois que cela se voie que je débute... mais je trouve ça sympa.
    Moi, ce que je trouve sympa, c'est que, contrairement à d'autre, tu ne prennes pas cette inexpérience comme une fatalité et que tu montres une réelle volonté de progresser.

    Pour autant, je crois qu'il va falloir que je lise un maximum de tutoriels.
    N'oublie pas aussi que l'aide VBA Excel est très bien faite, en particulier les pages qui listent les membres d'objets.

    En consultant les membres d'objets comme Application, Workbook, Worksheet et Range, tu peux progresser très vite.
    N'oublie pas aussi de bien regarder l'aide sur les structures comme "For to", "For Each", If, Select Case, While, Loop, etc.

    L'enregistreur automatique de macro peut aussi t'aider à trouver la bonne voie mais n'applique jamais le code qu'il fournit sans l'étudier et le comprendre.
    Merci de cliquer sur pour chaque message ayant aidé puis sur pour clore cette discussion.

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

Discussions similaires

  1. Affichage ligne avec exclusivité de texte dans une colonne
    Par musicalegria dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 11/06/2015, 21h46
  2. remplacement de données dans une colonne
    Par elvolcano dans le forum Langage SQL
    Réponses: 1
    Dernier message: 12/08/2009, 13h56
  3. Orientation vertical de texte dans une colonne ?
    Par dauphinus dans le forum Windows Presentation Foundation
    Réponses: 2
    Dernier message: 19/02/2008, 16h08
  4. Texte dans une colonne qui déborde!
    Par pracede2005 dans le forum Mise en page CSS
    Réponses: 2
    Dernier message: 08/11/2007, 23h11
  5. Remplacer un texte dans une cellule Excel à partir d'un point donné
    Par tonyC dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 28/04/2006, 20h05

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