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 :

Comment copier et insérer une plage de données dans le même tableau sans dupliqué


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
    Ing Genie civil
    Inscrit en
    Février 2020
    Messages
    42
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Burkina Faso

    Informations professionnelles :
    Activité : Ing Genie civil

    Informations forums :
    Inscription : Février 2020
    Messages : 42
    Par défaut Comment copier et insérer une plage de données dans le même tableau sans dupliqué
    Bonsoir a tous!!

    Je reviens encore une auprès de très chers bienfaiteurs pour solliciter de nouveau leur savoir

    J'ai relié un code à un bouton qui me permet a chaque clic de copier une plage de données a partir de la ligne contenant le mot "SUPERSTRUCTURE" jusqu'à la dernière ligne et je souhaite insérer la copie apres la dernière ligne . J'aimerais aussi que lors de l'insertion, si le mot "STRUCTURE existe déjà, qu'il le remplace par R+1 et si R+1 existe alors il le remplace par R+2.

    Le soucis est que j'arrive à effectuer la copie de la plage et l'insérer seulement lors du deuxième clique sur le bouton il il reste sur la première sélection et lors de l'insertion il ajoute toutes les autres données déjà inséré . Le second soucis c'est comment changer le texte "STRUCTURE" en R+1, R+2....... Comme je l'ai évoqué

    Merci d'avance pour toute aide qui me sera très utile. Merci

    Voici le bout de code élaboré

    Nom : CODE COPIE INSERER.png
Affichages : 284
Taille : 28,7 Ko

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

    Il serait intéressant de voir la feuille Excel pour se faire une idée.

    Indépendamment de cela, le code proposé risque de poser problème à la ligne superstructurerow = application.worksheetfunction.match car la variable est typée Long et ne pourra pas recevoir une valeur d'erreur. Il faut la typer en variant (ou ne pas la typer, ce qui revient au même).
    "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...
    ---------------

  3. #3
    Membre émérite
    Homme Profil pro
    Retraité
    Inscrit en
    Octobre 2022
    Messages
    685
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Octobre 2022
    Messages : 685
    Par défaut
    Bonjour,

    accessoirement, il me semble que le deuxième
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    lastrow = ws.Cells(ws.Rows.Count,"C").End(xlUp).Row
    ne sert à rien puisqu'entre le 1er et llui il y a juste un copy, donc riende nature à modifier les données, donc la dernière ligne.

  4. #4
    Membre averti
    Homme Profil pro
    Ing Genie civil
    Inscrit en
    Février 2020
    Messages
    42
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Burkina Faso

    Informations professionnelles :
    Activité : Ing Genie civil

    Informations forums :
    Inscription : Février 2020
    Messages : 42
    Par défaut
    Bonjour Mr Pierre Fauconnier

    Merci pour votre intervention, mais je tente de vous envoyer le fichier excel en question mais je sais pas comment l'envoyer. Apparemment le forum n'autorise que le pièce jointes en photos ou images. Si vous avez une astuce pour moi afin que je puisse y parvenir alors cela le sera d'une grande utilité. MERCI

  5. #5
    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 problème soulevé vient de MATCH qui s'arrêtera au premier "SUPERSTRUCTURE" trouvé.

    Sans avoir réécrit tout le code, je modifierais la ligne Superstructurerow = application.worksheetfunction.match... par superstructureRow = Evaluate("MAX(ROW('avant_metre'!C:C)*('avant_metre'!C:C=""superstructure""))")
    "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...
    ---------------

  6. #6
    Membre averti
    Homme Profil pro
    Ing Genie civil
    Inscrit en
    Février 2020
    Messages
    42
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Burkina Faso

    Informations professionnelles :
    Activité : Ing Genie civil

    Informations forums :
    Inscription : Février 2020
    Messages : 42
    Par défaut Re
    Pierre Fauconnier

    La modification que vous avez fait marche parfaitement. Ca me recopie juste une copie a chaque clique. Mon premier problème vient d'être résolu. Je reste toujours à l'écoute pour mon deuxième soucis qui consiste à remplacer le "SUPERSTRUCTURE" par R+1 s'il existe déjà, et remplacer R+1 par R+2 si le R+ 1 existe déjà et ainsi de suite.

    Merci d'avance a vous tous qui vous soucier de mes inquiétudes.

  7. #7
    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
    Remplacez déjà les lignes comme je l'ai proposé. Cela n'aide pas?
    "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...
    ---------------

Discussions similaires

  1. Condition sur une plage de donnes pas tjs renseignée
    Par stof dans le forum Langage SQL
    Réponses: 6
    Dernier message: 21/06/2010, 16h13
  2. [XL-2003] Copier collé d'une plage de cellule
    Par rafalemirage dans le forum Macros et VBA Excel
    Réponses: 12
    Dernier message: 06/12/2009, 18h37
  3. [XL-2003] Commenter les cellules d'une plage
    Par doowy38 dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 16/06/2009, 16h01
  4. Copier une plage de cellules dans un fichier fermé
    Par COCONUT2 dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 31/07/2007, 17h23
  5. [VBA] Copier une plage de cellules dans un fichier fermé
    Par Invité dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 25/01/2006, 16h52

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