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 :

Insertion dans cellule speciale [VBA]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de pite0611
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2018
    Messages
    62
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 25
    Localisation : France, Eure (Haute Normandie)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2018
    Messages : 62
    Par défaut Insertion dans cellule speciale [VBA]
    Bonjour,
    j'ai une demande assez spéciale dont je n'ai aucune idée si cela est possible, mais si ça l'est cela m'aiderait grandement !
    Mon problème est:

    Quand j’écris un mot spécial, par exemple "capot" il me l’insère dans une cellule spéciale

    Pouvez-vous m'aider svp ?
    Cordialement

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

    dans quelle cellule/quel objet est-il ici question d'insertion au départ ?

    Une cellule "spéciale", c'est une cellule spécifique, car il n'y a pour ainsi dire aucune cellule spéciale (genre cellule magique )
    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

  3. #3
    Membre confirmé Avatar de pite0611
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2018
    Messages
    62
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 25
    Localisation : France, Eure (Haute Normandie)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2018
    Messages : 62
    Par défaut
    Bonjour,
    Il n'y a pas forcement de cellule special mais en gros je souhaiterai que quand je rentre un mot spécial (ex: "capot") dans la cellule A1 (par exemple), le programme détecte le mot et le place dans une cellule voulu (ex: F5)

  4. #4
    Membre Expert
    Avatar de pijaku
    Homme Profil pro
    Inscrit en
    Août 2010
    Messages
    1 817
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Août 2010
    Messages : 1 817
    Billets dans le blog
    10
    Par défaut
    Bonjour,

    Ce code est à placer dans le module de la feuille concernée (clic droit sur l'onglet de cette feuille / visualiser le code) :


    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
    Option Explicit
     
    Private Const MOT As String = "Capot"   ' A ADAPTER
     
    Private Sub Worksheet_Change(ByVal Target As Range)
    Dim CellSource As Range, CellCible As Range
       Set CellSource = Me.Range("A1")   ' A ADAPTER
       If Not Intersect(Target, CellSource) Is Nothing Then
          If CellSource.Value = MOT Then
             Set CellCible = Me.Range("F5")   ' A ADAPTER
             CellCible.Value = CellSource.Value
             CellSource.Value = ""
             Set CellCible = Nothing
          End If
       End If
       Set CellSource = Nothing
    End Sub
    Adaptez ce qui doit l'être...

  5. #5
    Membre confirmé Avatar de pite0611
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2018
    Messages
    62
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 25
    Localisation : France, Eure (Haute Normandie)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2018
    Messages : 62
    Par défaut
    Citation Envoyé par pijaku Voir le message
    Bonjour,

    Ce code est à placer dans le module de la feuille concernée (clic droit sur l'onglet de cette feuille / visualiser le code) :


    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
    Option Explicit
     
    Private Const MOT As String = "Capot"   ' A ADAPTER
     
    Private Sub Worksheet_Change(ByVal Target As Range)
    Dim CellSource As Range, CellCible As Range
       Set CellSource = Me.Range("A1")   ' A ADAPTER
       If Not Intersect(Target, CellSource) Is Nothing Then
          If CellSource.Value = MOT Then
             Set CellCible = Me.Range("F5")   ' A ADAPTER
             CellCible.Value = CellSource.Value
             CellSource.Value = ""
             Set CellCible = Nothing
          End If
       End If
       Set CellSource = Nothing
    End Sub
    Adaptez ce qui doit l'être...



    Desolé, je n'avais pas vu ton message, il correspond parfaitement à ma demande merci beaucoup !

  6. #6
    Membre confirmé Avatar de pite0611
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2018
    Messages
    62
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 25
    Localisation : France, Eure (Haute Normandie)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2018
    Messages : 62
    Par défaut
    et si je veux ajouter d'autre mot (Capot, Court-circuit) je le modifie comment ?

    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
     Option Explicit
     
    Private Const MOT As String = "Capot"   ' A ADAPTER
     
    Private Sub Worksheet_Change(ByVal Target As Range)
    Dim CellSource As Range, CellCible As Range
       Set CellSource = Me.Range("A1")   ' A ADAPTER
       If Not Intersect(Target, CellSource) Is Nothing Then
          If CellSource.Value = MOT Then
             Set CellCible = Me.Range("F5")   ' A ADAPTER
             CellCible.Value = CellSource.Value
             CellSource.Value = ""
             Set CellCible = Nothing
          End If
       End If
       Set CellSource = Nothing
    End Sub

  7. #7
    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 pite0611 Voir le message
    Il n'y a pas forcement de cellule special mais en gros je souhaiterai que quand je rentre un mot spécial (ex: "capot") dans la cellule A1 (par exemple), le programme détecte le mot et le place dans une cellule voulu (ex: F5)
    Le plus simple, c'est de mettre en F5 la formule :

  8. #8
    Membre confirmé Avatar de pite0611
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2018
    Messages
    62
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 25
    Localisation : France, Eure (Haute Normandie)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2018
    Messages : 62
    Par défaut
    le code ne fonctionne pas

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     Private Sub Worksheet_Change(ByVal Target As Range)
    =SI(A1="capot";A1;"")
    End Sub

  9. #9
    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 pite0611 Voir le message
    le code ne fonctionne pas
    Je n'ai pas dit que c'était du code VBA.
    C'est une formule à mettre dans une cellule.

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

Discussions similaires

  1. [XL-2010] Insertion dans cellules
    Par ph_anrys dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 20/03/2013, 11h14
  2. [XL-2003] Imposer 1ere lettre majuscule dans cellule via VBA
    Par medino55 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 03/07/2011, 03h34
  3. probleme insertion formule dans cellule via vba
    Par moxo01 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 20/06/2008, 11h06
  4. [VBA-E]Formule dans cellule en VBA
    Par dev81 dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 04/06/2007, 14h03

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