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 :

Automatiser des actions (formules) en VBA


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Femme Profil pro
    Webmaster
    Inscrit en
    Octobre 2014
    Messages
    98
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Ardèche (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Octobre 2014
    Messages : 98
    Par défaut Automatiser des actions (formules) en VBA
    Bonjour

    Tous les mois je dois faire les mêmes action sur des fichiers donc le contenu à toujours la même structure

    La formule que j'utilise est la suivante:

    =SUBSTITUE(G1;CAR(10);" ")

    L'action que je dois faire tous les mois est:

    1- J'ajoute une colonne à Droite de ma colonne F
    2- je colle ma formule en G1
    3- je l'étire jusque en bas de ma colonne G afin de faire le traitement sur toutes mes lignes (nombre de ligne variable en fonction des mois)

    Voila je voudrais faire une macro, qui serait accessible à tous mes classeur Excel si possible, et qui me donnerait le résultat final sans ajout de colonne par contre ( ce qui me permettre de pas à avoir à supprimer la colonne F qui au final ne sert plus a rien), et ça juste en cliquant sur ma macro

    en gros je veux appliquer ma formule directement dans la colonne F et cela sur toutes les lignes.

    Est ce possible?

    J'ai deja tenté de faire un enregistrement automatique de ma formule. Le résultat:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Sub suppretourligne()
    '
    ' suppretourligne Macro
    '
     
    '
        Range("G1").Select
        ActiveCell.FormulaR1C1 = "=SUBSTITUTE(RC[-1],CHAR(10),"" "")"
        Range("G2").Select
    End Sub
    Par contre sa me fait que pour la ligne deux. Comment faire pour l'appliquer à toutes les lignes dans mon tableau?

    Quelqu'un peut m'aider svp?

    Je joint un fichier contenant une partie de mon tableau. En ligne 7 de la colonne F j'ai un retour à la ligne. donc apres le traitement je voudrais un tableau identique mais avec la suppression du retour à la ligneSuppRetourLigne.xlsx

    Elwy

  2. #2
    Expert éminent
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Par défaut Bonjour, bonjour !

    Et la fonction d'Excel Rechercher / Remplacer ?‼

    ActiveSheet.UsedRange.Columns(6).Replace vbLf, " ", xlPart

    ______________________________________________________________________________________________________

    Merci de cliquer sur pour chaque message ayant aidé puis sur pour clore cette discussion …

    ______________________________________________________________________________________________________
    Je suis Paris, Charlie, …

  3. #3
    Membre confirmé
    Femme Profil pro
    Webmaster
    Inscrit en
    Octobre 2014
    Messages
    98
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Ardèche (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Octobre 2014
    Messages : 98
    Par défaut
    Je suis dsl mais je ne comprend pas trop ta ligne de code.

    J'ai essayé avec cette approche, mais j'ai un message d'erreur certainement tout simple à corriger pour un habitué:

    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
    Option Explicit
     
     
     
    Sub suppretourligne()
     
    Dim NbLignes  As Integer
    Dim Compteur As Integer
    Dim MyRange As Range
     
    Compteur = 1
    NbLignes = ActiveSheet.UsedRange.Rows.Count
     
     
      Do While Compteur <= NbLignes
     
        MyRange = Range("F" & Compteur).Select
        MyRange = Replace(MyRange, CHAR(10), " ")
        Compteur = Compteur + 1
     
      Loop
     
     
    End Sub
    Erreur: Erreur de compilation Sub ou fonction non définie

  4. #4
    Membre confirmé
    Femme Profil pro
    Webmaster
    Inscrit en
    Octobre 2014
    Messages
    98
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Ardèche (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Octobre 2014
    Messages : 98
    Par défaut
    C'est bon ça marche. Merci pour l'idée de Replace

    Voila mon code qui marche:

    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
    Option Explicit
     
     
     
    Sub SuppRetourLigne()
     
    Dim NbLignes  As Integer
    Dim Compteur As Integer
     
    Compteur = 1
    NbLignes = ActiveSheet.UsedRange.Rows.Count
     
     
      Do While Compteur <= NbLignes
     
        Range("F" & Compteur).Select
        ActiveCell = Replace(ActiveCell, Chr(10), " ")
        Compteur = Compteur + 1
     
      Loop
     
     
    End Sub

  5. #5
    Expert éminent
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Par défaut OH LA LA LA LA ‼ OH LA LA la la … A quoi cela sert que Ducros se décarcasse ?‼

    Mais pourquoi donc boucler via cette usine à gaz ?‼‼

    Ma ligne de code - en brûlant deux neurones pour la comprendre ‼ - traite l'intégralité de la colonne !
    Ne pas confondre ma méthode Range.Replace avec ta fonction texte Replace

  6. #6
    Membre confirmé
    Femme Profil pro
    Webmaster
    Inscrit en
    Octobre 2014
    Messages
    98
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Ardèche (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Octobre 2014
    Messages : 98
    Par défaut
    Alors je suis du genre à pas attendre qu'on me donne à chaque question posée, la solution toute faite ^^, j'aime bien comprendre ce que je fais histoire de pouvoir réutiliser si besoin. J'ai donc pris l'habitude de pas attendre les solutions du genre du copie colle et puis c'est tout ^^

    de plus étant très novice en VBA, je ne suis pas arrivée a comprendre tous dans ta ligne de code, dsl mais mes neurone ce font rare

    donc ma petite usine à gaz (comme tu la nomes) m'a permis d'obtenir le résultat souhaité.

    Mais, car il y a toujours un Mais, il est vrai qu'en faisant un copier collé (chose que je ne fais jamais) de ta ligne de code sa marche aussi très très bien .

    en tous merci à toi pour ton aide sur ce coup là

    Elwy

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 07/08/2012, 02h57
  2. [Toutes versions] Automatiser des Récupérations de données VBA
    Par mattdogg97 dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 31/01/2011, 14h28
  3. Excel : Automatisation des formules de calcul
    Par CRIS2010 dans le forum Excel
    Réponses: 2
    Dernier message: 21/02/2010, 15h13
  4. Exécuter des actions d'un logiciel lancé par VBA?
    Par fanouk dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 24/06/2008, 17h01
  5. [VBA-E] Toggle button: programmation des actions
    Par micknic dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 30/10/2005, 19h28

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