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 :

Remplacer des données dans une autre feuille [XL-2007]


Sujet :

Macros et VBA Excel

  1. #1
    Membre actif
    Homme Profil pro
    Inscrit en
    Mars 2009
    Messages
    408
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Eure et Loir (Centre)

    Informations professionnelles :
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Mars 2009
    Messages : 408
    Points : 216
    Points
    216
    Par défaut Remplacer des données dans une autre feuille
    Bonjour le Forum,

    Mon probléme : j ai créé cette macro pour exporter des données de la feuille "Visio" dans une feuille "Liste" mais avant la macro efface les lignes de la feuille "Liste" si elle existe pour les remplacer par les nouvelles.

    Sans pretention, et pour un debutant, je pensais que ma macro était bonne mais voila ca ne marche pas, quelqu'un peut il m aider? Merci
    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
    Sub CommandButton1_Click()
         Dim massif As String ' massif  : celui qui est affiché dans visio
      Dim Colonne As Integer ' Colonne : colonne où se trouve le massif dans "liste"
      Dim derniereligne As Integer ' numero de la derniere ligne du tableau dans "liste"
      Dim dernierelignevisio As Integer ' numero de la derniere ligne du tableau dans "visio"
      Dim i As Integer
     
      massif = Sheets("Visio").Range("f1").Value
      Colonne = 1
      derniereligne = Sheets("Liste").Range("A1").End(xlDown).Row
     
      ' on efface toutes les lignes du massif dans "liste"
        For i = 2 To derniereligne
                If Sheets("Liste").Cells(i, Colonne).Value = massif Then
               Sheets("Liste").Rows(i).Delete Shift:=xlShiftUp
               i = 2
                                       End If
        Next i
     
         ' on copie les données de "visio" dans "liste"
    derniereligne = Sheets("Liste").Range("A1").End(xlDown).Row + 1
    dernierelignevisio = Sheets("Visio").Range("A15").End(xlDown).Row
     
    Sheets("Visio").Activate: Range("a15:ah" & dernierelignevisio).Copy _
    Destination:=Sheets("Liste").Range("A" & derniereligne)
      End Sub

  2. #2
    Membre confirmé Avatar de zandru
    Homme Profil pro
    Ingénieur conception mécanique
    Inscrit en
    Mars 2008
    Messages
    507
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur conception mécanique
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2008
    Messages : 507
    Points : 551
    Points
    551
    Par défaut
    Bonjour,

    Où est ce que cela ne marche pas ?
    Cela plante, ou cela ne fait juste pas ce que tu veux ?

    Sinon, je n'aime pas la remise à 2 de i à l'intérieur de la boucle for. (même si il est possible que cela ne gène pas le fonctionnement)
    A lire :Les Règles

  3. #3
    Membre actif
    Homme Profil pro
    Inscrit en
    Mars 2009
    Messages
    408
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Eure et Loir (Centre)

    Informations professionnelles :
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Mars 2009
    Messages : 408
    Points : 216
    Points
    216
    Par défaut
    ben quand je click sur le bouton rien ne se passe je vais retravaillé un peu ce soir dessus je ne sais.je viens de refaire un essai la macro s execute mais il ne se passe rien il y pas de changement sur mes tableau

  4. #4
    Membre expérimenté Avatar de laetitia
    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    1 281
    Détails du profil
    Informations personnelles :
    Âge : 34
    Localisation : France

    Informations forums :
    Inscription : Décembre 2002
    Messages : 1 281
    Points : 1 512
    Points
    1 512
    Par défaut
    bonjour dodo28 zandru le forum essai comme cela pour voir!!

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Sub CommandButton1_Click()
    Dim c As Range
    Application.ScreenUpdating = False
     For Each c In Sheets("Liste").Range("A1:A" & Range("A65536").End(xlUp).Row)
    If c.Value = Sheets("Visio").[f1] Then c.EntireRow.Delete
    Next c
    Sheets("Visio").Activate: Range("a15:ah" & Range("a65536").End(xlUp).Row).Copy _
    Destination:=Sheets("Liste").Range("A65536").End(xlUp)(2)
    End Sub
    SALUTATIONS

  5. #5
    Membre actif
    Homme Profil pro
    Inscrit en
    Mars 2009
    Messages
    408
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Eure et Loir (Centre)

    Informations professionnelles :
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Mars 2009
    Messages : 408
    Points : 216
    Points
    216
    Par défaut
    merci beaucoup Laetitia,
    MA macro marche une simple erreur d attribution de la macro, en faite j avais 2 macri qui portaient le meme nom maintenant ca marche mais je vais essayer ta macro aussi elle est surement plus performante.
    merci je marque resolu

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

Discussions similaires

  1. [XL-2007] Ranger des données dans une autre feuille
    Par cwac45 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 06/03/2013, 10h59
  2. Rechercher des données dans une autre feuille
    Par pedrito75 dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 15/05/2011, 18h40
  3. [Formulaires] Traitement des données dans une autre page...
    Par sekiryou dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 04/03/2006, 09h08
  4. [PHP-JS] Traitement des données dans une autre page...
    Par sekiryou dans le forum Langage
    Réponses: 5
    Dernier message: 04/03/2006, 09h06
  5. Réponses: 4
    Dernier message: 19/09/2005, 15h59

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