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 :

Remettre à zéro les données d'une variable tableau


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Mai 2004
    Messages
    61
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 61
    Par défaut Remettre à zéro les données d'une variable tableau
    Bonjour à tous,

    Je me permets de faire appel à vous une nouvelle fois parce que je trouve pas l'erreur dans la macro que j'utilise...

    J'utilise un tableau pour stocker des données que je vais par la suite copier dans un autre classeur.
    Le problème, c'est que le tableau ne reprends pas à la ligne n°1 après avoir copié des données (sauf si j'ai atteins le maxi de ligne possible dans le tableau).

    Merci d'avance pour votre aide !
    Alfred

    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
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    Dim Tableau(1 To 10, 1 To 2)
    Dim I As Integer
     
     
    Sub Worksheet_change(ByVal Target As Range)
     
        'On déclare la variable ligneModif
        Dim ligneModif As Long
     
        'Si on modifie une cellule de la colonne 'C' (N° 3)
        If Target.Column = 3 Then
     
            'On récupère le numéro de ligne de la cellule modifiée
            ligneModif = Target.Row
     
            I = I + 1
     
            'Si il y a plus de 10 cellules de remplies
            If I > 5 Then
     
                If MsgBox("La limite du tableau a été atteinte, écraser les valeurs les plus anciennes ?", vbYesNo) = vbYes Then
                    I = 1
                Else
                    Exit Sub
                End If
     
            End If
     
            'On met les données de la ligne modifiée dans le tableau
            Tableau(I, 1) = Range("A" & ligneModif).Value
            Tableau(I, 2) = Range("C" & ligneModif).Value
     
            I = I + 1
     
        End If
     
    End Sub
     
    Sub BoutonClic()
     
    Dim I As Integer
     
    'On ouvre le fichier dans lequel on veut coller les données copiées
    Workbooks.Open ThisWorkbook.Path & "\Fichier1.xls"
     
    'On restitue les données dans la feuille excel
    For I = 1 To UBound(Tableau, 1)
     
        With Sheets("Feuil1").UsedRange: NoDeLaDernLig = .Cells(.Rows.Count, .Columns.Count).Row: End With
     
        Sheets("Feuil1").Cells(NoDeLaDernLig + 1, 4).Value = Tableau(I, 1)
        Sheets("Feuil1").Cells(NoDeLaDernLig + 1, 2).Value = Tableau(I, 2)
     
        I = I + 1
     
    Next I
     
    Erase Tableau()
     
     
    End Sub

  2. #2
    Expert confirmé Avatar de jfontaine
    Homme Profil pro
    Contrôleur de Gestion
    Inscrit en
    Juin 2006
    Messages
    4 756
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Contrôleur de Gestion

    Informations forums :
    Inscription : Juin 2006
    Messages : 4 756
    Par défaut
    Bonjour,

    que je trouve pas l'erreur dans la macro que j'utilise
    Quelle est l'erreur? (son numero et descriptif)

    Si tu pouvais nous donner aussi la ligne (place un point d'arret et avance en pas à pas avec F8)

  3. #3
    Membre Expert
    Femme Profil pro
    Data engineer
    Inscrit en
    Juin 2007
    Messages
    673
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Data engineer
    Secteur : Conseil

    Informations forums :
    Inscription : Juin 2007
    Messages : 673
    Par défaut
    Bonjour,
    Et en faisant après le ?

Discussions similaires

  1. Remplacer données dans une variable tableau
    Par polo68 dans le forum VBA Access
    Réponses: 6
    Dernier message: 17/11/2013, 00h38
  2. [XL-2003] Supprimer les zéros dans une Variable tableau Array
    Par hobine dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 11/03/2011, 23h48
  3. Mettre les données d'une variable dans un code.
    Par chenel80 dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 19/06/2008, 13h45
  4. [SQL] problème de variable tableau PHP contenant les données d'une jointure SQL
    Par Schpountz42 dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 09/02/2007, 05h59
  5. [Mail] Exploser les données d'une variable issu de Flash
    Par anti-conformiste dans le forum Langage
    Réponses: 1
    Dernier message: 02/11/2006, 16h23

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