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 :

Sélectionner plage contigues ou non pour collage valeur [XL-2016]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    776
    Détails du profil
    Informations personnelles :
    Âge : 55
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Septembre 2007
    Messages : 776
    Par défaut Sélectionner plage contigues ou non pour collage valeur
    Salut le phorum

    j'ai cherché sans trouver un moyen de coller des valeurs (toujours la même "PERSO") dans une plage de cellule que je sélectionne
    exemple
    je sélectionne les plages "A1:B5;F1:F5;M1:Q5"
    je lance la macro et cela me coller la valeur "PERSO" dans ces plages

    quelqu'un aurait il une idée pour me donner une piste ?
    j'ai bien vu des moyens de copier/coller mais pas sur un coller et avec une présélection des plages

    merci d'avance

    david

  2. #2
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2018
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Landes (Aquitaine)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Janvier 2018
    Messages : 19
    Par défaut
    Je suis encore débutant en VBA mais il me semble pour ma part que j'utiliserai une liste déroulante ou une ComboBox, j'afficherai l'ensemble des valeurs de "PERSO" dedans, et ensuite à l'appui sur un bouton, je remplierai mes ActiveCell avec les données de cette Box.

    EDIT : il s'agit de la valeur "Perso" et non pas la valeur de "Perso", que je pensais être un tableau. La demarche est tout autre désolé, je me penche dessus et j'essaye de voir si je trouve une solution !

  3. #3
    Rédacteur/Modérateur


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 125
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 125
    Billets dans le blog
    131
    Par défaut
    Salut

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    range("A1:B5,F1:F5,M1:Q5").Value= "Perso"
    Attention, dans une plage VBA, c'est la virgule comme séparateur et non le point-virgule...
    "Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
    ---------------
    Mes billets de blog sur DVP
    Mes remarques et critiques sont purement techniques. Ne les prenez jamais pour des attaques personnelles...
    Pensez à utiliser les tableaux structurés. Ils vous simplifieront la vie, tant en Excel qu'en VBA ==> mon tuto
    Le VBA ne palliera jamais une mauvaise conception de classeur ou un manque de connaissances des outils natifs d'Excel...
    Ce ne sont pas des bonnes pratiques parce que ce sont les miennes, ce sont les miennes parce que ce sont des bonnes pratiques
    VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
    ---------------

  4. #4
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2018
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Landes (Aquitaine)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Janvier 2018
    Messages : 19
    Par défaut
    Bonjour Pierre
    Je pense qu'il souhaite écrire dans une plage de cellule active et que la plage selectionnée n'etait qu'un exemple.
    Cordialement

  5. #5
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2018
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Landes (Aquitaine)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Janvier 2018
    Messages : 19
    Par défaut Ma Solution
    Je reviens avec une solution trouvée
    Je créé un nouveau module dans lequel je rentre le code suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    Sub ecrireCelluleActive()
     
    Dim intervalle As Range
    Set intervalle = Selection
     
    intervalle = "PERSO"
     
    End Sub
    Ensuite je crée un bouton sur ma feuille active, je selectionne les cellules que je souhaite et je clique sur le bouton auquel j'ai associé au préalable le module, et PERSO s'ecrit dans toutes les cellules sélectionnées.
    Cela repond-il à ta demande ?
    Cordialement

  6. #6
    Rédacteur/Modérateur


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 125
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 125
    Billets dans le blog
    131
    Par défaut
    Le principe est le même

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Selection.value = "Perso"
    "Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
    ---------------
    Mes billets de blog sur DVP
    Mes remarques et critiques sont purement techniques. Ne les prenez jamais pour des attaques personnelles...
    Pensez à utiliser les tableaux structurés. Ils vous simplifieront la vie, tant en Excel qu'en VBA ==> mon tuto
    Le VBA ne palliera jamais une mauvaise conception de classeur ou un manque de connaissances des outils natifs d'Excel...
    Ce ne sont pas des bonnes pratiques parce que ce sont les miennes, ce sont les miennes parce que ce sont des bonnes pratiques
    VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
    ---------------

  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 munity Voir le message
    j'ai cherché sans trouver un moyen de coller des valeurs (toujours la même "PERSO") dans une plage de cellule que je sélectionne
    exemple
    je sélectionne les plages "A1:B5;F1:F5;M1:Q5"
    Si tes plages ont été sélectionnées à la main :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Selection.Value = "PERSO"
    Si tu fais la sélection par code :
    RANGE("A1:B5,F1:F5,M1:Q5").Value = "PERSO"

    je lance la macro et cela me coller la valeur "PERSO" dans ces plages
    Si c'est toujours la même valeur, inutile de faire un copier/coller.
    Il est plus simple de spécifier la valeur de cellule.

    j'ai bien vu des moyens de copier/coller mais pas sur un coller et avec une présélection des plages
    As-tu expérimenté PasteSpecial (le Paste de l'objet Range) ?
    https://msdn.microsoft.com/fr-fr/lib.../ff839476.aspx

  8. #8
    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 Ojanen Voir le message
    Je reviens avec une solution trouvée
    Je créé un nouveau module dans lequel je rentre le code suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Sub ecrireCelluleActive()
     
    Dim intervalle As Range
    Set intervalle = Selection
    intervalle = "PERSO"
     
    End Sub
    Je ne vois pas trop l'intérêt de passer par une variable intermédiaire.

  9. #9
    Membre éclairé
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    776
    Détails du profil
    Informations personnelles :
    Âge : 55
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Septembre 2007
    Messages : 776
    Par défaut
    merci pour toutes vos réponses
    cela fonctionne parfaitement

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    Sub ecrireCelluleActive()
     
    Dim intervalle As Range
    Set intervalle = Selection
    intervalle = "PERSO" ou Selection.Value = "PERSO"
     
    End Sub
    merci encore

    david

  10. #10
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2018
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Landes (Aquitaine)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Janvier 2018
    Messages : 19
    Par défaut
    Citation Envoyé par Menhir Voir le message
    Je ne vois pas trop l'intérêt de passer par une variable intermédiaire.
    Aucun intérêt, je suis juste débutant je developpe encore toutes les étapes j'ai du mal, mais j'utiliserai ta méthode bien plus courte dès aujourdh'hui !

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

Discussions similaires

  1. [XL-2003] trouver la dernière cellule d'une plage de cellules non contigues.
    Par henripec dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 17/09/2009, 02h16
  2. Réponses: 3
    Dernier message: 18/02/2009, 11h00
  3. Sélectionner une plage de cellules variables pour faire un graphique?
    Par drthodt dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 29/11/2007, 19h06
  4. Réponses: 2
    Dernier message: 01/12/2006, 11h09
  5. Comment sélectionner une plage de cellules non consécutives?
    Par jokair dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 18/08/2006, 16h36

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