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 :

Automatisation de commandes manuelles par macro


Sujet :

Macros et VBA Excel

  1. #1
    Futur Membre du Club
    Homme Profil pro
    autodidacte
    Inscrit en
    Décembre 2014
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : autodidacte

    Informations forums :
    Inscription : Décembre 2014
    Messages : 5
    Par défaut Automatisation de commandes manuelles par macro
    Bonjour,

    Après plusieurs années d'absence, je reviens sur ce site.

    J'ai une vieille question pour laquelle je n'ai pas trouvé de solution.

    Voilà la démarche que je fais en manuel dans mon exemple:
    en relation: 2 colonnes.
    positionné dans la colonne A,
    Voici les manip que j'effectue:

    F2
    Ctrl + Shift + flèche gauche
    Ctrl + X
    Tab
    F2
    Ctrl + V
    Enter

    Je ne trouve pas dans les fonctions basic comment introduire ces actions.

    Lorsque j'enregistre la macro, j'obtiens ceci:
    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
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    Sub Macro1()
    '
    ' Macro1 Macro
    '
    ' Keyboard Shortcut: Ctrl+b
    '
        ActiveCell.FormulaR1C1 = "F2"
        With ActiveCell.Characters(Start:=1, Length:=0).Font
            .Name = "Calibri"
            .FontStyle = "Regular"
            .Size = 30
            .Strikethrough = False
            .Superscript = False
            .Subscript = False
            .OutlineFont = False
            .Shadow = False
            .Underline = xlUnderlineStyleNone
            .ThemeColor = xlThemeColorLight1
            .TintAndShade = 0
            .ThemeFont = xlThemeFontMinor
        End With
        With ActiveCell.Characters(Start:=1, Length:=1).Font
            .Name = "Calibri"
            .FontStyle = "Regular"
            .Size = 30
            .Strikethrough = False
            .Superscript = False
            .Subscript = False
            .OutlineFont = False
            .Shadow = False
            .Underline = xlUnderlineStyleNone
            .Color = -16727809
            .TintAndShade = 0
            .ThemeFont = xlThemeFontMinor
        End With
        With ActiveCell.Characters(Start:=2, Length:=1).Font
            .Name = "Calibri"
            .FontStyle = "Regular"
            .Size = 30
            .Strikethrough = False
            .Superscript = False
            .Subscript = False
            .OutlineFont = False
            .Shadow = False
            .Underline = xlUnderlineStyleNone
            .Color = -16776961
            .TintAndShade = 0
            .ThemeFont = xlThemeFontMinor
        End With
        With ActiveCell.Characters(Start:=3, Length:=1).Font
            .Name = "Calibri"
            .FontStyle = "Regular"
            .Size = 30
            .Strikethrough = False
            .Superscript = False
            .Subscript = False
            .OutlineFont = False
            .Shadow = False
            .Underline = xlUnderlineStyleNone
            .ThemeColor = xlThemeColorLight1
            .TintAndShade = 0
            .ThemeFont = xlThemeFontMinor
        End With
        ActiveCell.Offset(0, 1).Range("A1").Select
        ActiveCell.FormulaR1C1 = "Column1(CL:?)"
        ActiveCell.Offset(2, -1).Range("A1").Select
    End Sub
    Comment introduire les commandes en manuel dans le script ?
    Des pistes seraient les bienvenues.

    Merci pour votre aide et suggestions

  2. #2
    Expert confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2013
    Messages
    3 609
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Alimentation

    Informations forums :
    Inscription : Mai 2013
    Messages : 3 609
    Par défaut
    Bonjour,

    Premièrement, quand tu mets du code, utilise le bouton # pour le formater et le rendre plus lisible.
    Pour ta question, pourquoi vouloir utiliser des touches comme tu le fais ?
    Pourquoi ne pas tout simplement faire un .Cut et .PasteSpecial ?

    Autrement, tu pourrais regarder du côté de SendKeys... à tes risques...

  3. #3
    Futur Membre du Club
    Homme Profil pro
    autodidacte
    Inscrit en
    Décembre 2014
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : autodidacte

    Informations forums :
    Inscription : Décembre 2014
    Messages : 5
    Par défaut
    Bonjour et merci parmi.
    En fait j'aimerais pouvoir automatisé ce genre d'actions. Dans un très lointain passé, avec un autre logiciel, je pouvais faire ce genre d'actions automatisées, mais avec une lecture du type "wysiwyg" en terme de programmation.

    En fait, je cherche à copier (cut) une partie d'un contenu de cellule dans une autre cellule

  4. #4
    Expert confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2013
    Messages
    3 609
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Alimentation

    Informations forums :
    Inscription : Mai 2013
    Messages : 3 609
    Par défaut
    ok, je comprends mieux.
    Et quel serait le critère ?
    Qu'est-ce qui définit quelle partie de cellule couper ?

  5. #5
    Futur Membre du Club
    Homme Profil pro
    autodidacte
    Inscrit en
    Décembre 2014
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : autodidacte

    Informations forums :
    Inscription : Décembre 2014
    Messages : 5
    Par défaut
    Par exemple dans une cellule j'ai ceci : élkajdfél (+juoeirut)
    j'éxécute F2 le curseur vient en fin de champ. Je tape Ctrl + Shift + flèche gauche.

    Cela va prendre le contenu entre parenthèses, donc la délimitation c'est le premier espace sur la gauche et non pas le nombre de caractères.

    je fais ensuite ctrl x , tab, puis F2 dans la nouvelle cellule et ctrl v pour recopier le contenu.

    Et voilà ma recherche de solutions ou d'indices me permettant de faire ce genre de manip

  6. #6
    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,

    voir la fonction Split par exemple; sinon en utilisant le Générateur de macros …


  7. #7
    Expert confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2013
    Messages
    3 609
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Alimentation

    Informations forums :
    Inscription : Mai 2013
    Messages : 3 609
    Par défaut
    J'irais plutôt ainsi s'il n'y a qu'un seul espace
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
        Dim Tablo
     
        Tablo = Split(Range("A1"), " ")
        If UBound(Tablo) = 1 Then
            Range("A1") = Tablo(0)
            Range("B1") = Tablo(1)
        End If
    Par contre, s'il peut y avoir plus d'espaces, il faudrait traiter autrement selon le résultat escompté...

    EDIT: On s'est croisé Marc-L

  8. #8
    Futur Membre du Club
    Homme Profil pro
    autodidacte
    Inscrit en
    Décembre 2014
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : autodidacte

    Informations forums :
    Inscription : Décembre 2014
    Messages : 5
    Par défaut
    Merci parmi.

    Mais si je fais ça, je vais être lié à la cellule A1, B1.

    Ce que je souhaite, c'est de pouvoir utiliser la cellule Cn et la cellule Dn


    ou je me trompe

    Après test, cela ne semble pas fonctionner

  9. #9
    Expert confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2013
    Messages
    3 609
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Alimentation

    Informations forums :
    Inscription : Mai 2013
    Messages : 3 609
    Par défaut
    Où sont tes "textes" à séparer ?
    Et où veux-tu retrouver le résultat ?

Discussions similaires

  1. Transfert à partir de l'AS400 - Automatisation par macro
    Par borceval dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 26/08/2022, 13h06
  2. [LibreOffice][Tableur] Créer un (des) menu(s) de commandes par macro
    Par gerardmarquer dans le forum OpenOffice & LibreOffice
    Réponses: 0
    Dernier message: 14/01/2014, 10h57
  3. [WD-2007] Automatiser le remplissage de signets WORD par Macro VBA
    Par benkornskater dans le forum VBA Word
    Réponses: 2
    Dernier message: 13/05/2013, 12h03
  4. Réponses: 2
    Dernier message: 01/03/2013, 12h55
  5. Réponses: 18
    Dernier message: 10/02/2012, 01h21

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