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 :

vba copier plusieurs cellules


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    manager
    Inscrit en
    Août 2021
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : manager

    Informations forums :
    Inscription : Août 2021
    Messages : 10
    Par défaut vba copier plusieurs cellules
    bonjour,

    je cherche en VBA a copier la valeurs de différentes cellules d'un feuille vers d'autres cellules elles aussi différentes.

    exemple:
    je voudrais copier la valeurs des cellule de la feuil1 A1;B5;C10;E15 Vers respectivement les cellules de la feuil2 B1;B2;D5;A3
    Existe-t-il une méthode moins contraignante que de copier la valeur de chaque cellule vers la sa cellule respective.

    existe-il une autre méthode que : range copy ou .value=.value que j’écris pour chaque cellule.


    Dans mon fichier cela représentante une cinquantaine de cellule.
    je voudrais faire autre chose que d'écrire cinquante fois : sheets(feuil2).range("B1").value=sheets(feuil1).range("A1").

    Merci

  2. #2
    Membre chevronné
    Homme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    Mars 2021
    Messages
    334
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur qualité méthodes
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2021
    Messages : 334
    Par défaut
    Salut, il vaut mieux utiliser ce genre de syntaxe :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Feuil1.range(A1).value= feuil2.range(B1).value
    C'est également beaucoup moins gourmand en ressources que le copier coller, puisque ici on viens seulement changer la valeur de la cellule de la feuile B1 avec celle de la feuille A1, on ne passe pas par le presse papier et on ne copie pas les autres attributs de l'objet Range.

    Par contre je ne connais pas de methode pour copier des cellules discontinues dans d'autre cellules discontinues, il va falloir le faire pour chaque cellules. Je connais le UnionRange mais ici ça ne te servira pas.

  3. #3
    Expert confirmé
    Homme Profil pro
    Responsable des études
    Inscrit en
    Juillet 2014
    Messages
    2 681
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aude (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Responsable des études
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2014
    Messages : 2 681
    Par défaut
    Bonjour,

    Tu peux passer par un tableau (https://silkyroad.developpez.com/vba/tableaux/) pour y renseigner toutes les cellules de départ/arrivée puis faire une boucle sur ton tableau

  4. #4
    Membre averti
    Homme Profil pro
    manager
    Inscrit en
    Août 2021
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : manager

    Informations forums :
    Inscription : Août 2021
    Messages : 10
    Par défaut Suite
    en complément, il s'agit de celulles discontinues, donc même en passant par un tableau et une boucle, cela ne résous pas ma difficulté.

    Je veux prendre les valeurs des cellules A5:D2;G4;H8;S25 qui alimente ligne après ligne les cellules d'une autre feuille vers respectivement les cellules A4;A1;A20;A10;A3.

    Merci

  5. #5
    Expert confirmé
    Homme Profil pro
    Responsable des études
    Inscrit en
    Juillet 2014
    Messages
    2 681
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aude (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Responsable des études
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2014
    Messages : 2 681
    Par défaut
    Citation Envoyé par manuhell60 Voir le message
    en complément, il s'agit de celulles discontinues, donc même en passant par un tableau et une boucle, cela ne résous pas ma difficulté.
    Je ne parle pas d'un tableau de données, mais d'une variable tableau (un tableau de deux dimensions, ou deux tableau d'une dimension) que tu peux alimenter avec tes deux liste de cellules discontinue et ensuite utilisé pour ton copié coller
    un exemple pour remplir une plage discontinue avec une valeur fixe:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Option Explicit
    Option Base 0
     
    Sub ExempleArray_V01()
        Dim NomTableau As Variant
        Dim i As Long
        NomTableau = Array("a1", "b3", "c2")
     
     For i = LBound(NomTableau) To UBound(NomTableau)
            Range(NomTableau(i)).Value = 1
        Next i
    End Sub

Discussions similaires

  1. Réponses: 11
    Dernier message: 12/09/2014, 15h02
  2. VBA Copier plusieurs cellules dans uen autre feuille
    Par Tm7555555 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 09/09/2013, 19h25
  3. [XL-2010] En VBA, copier des cellules et les coller dans un nouveau classeur
    Par Cgoldy dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 07/02/2013, 18h24
  4. VBA - Copier les cellules de la cellulle supérieure
    Par jeremie78 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 03/08/2011, 14h11
  5. novice VBA : copier plusieurs feuilles
    Par kamkam33 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 05/03/2009, 23h09

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