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 :

Ecrire dans une cellule depuis un tableau memoire [XL-2013]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Femme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2015
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Djibouti

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2015
    Messages : 17
    Par défaut Ecrire dans une cellule depuis un tableau memoire
    Bonjour,

    Je viens vers vous car je bloque sur un problème qui pourtant me paraissait pas en être un. J'ai tenté plusieurs bout de code récupérer sur les forum, je bloque toujours.

    Je vous explique un peu ce que je cherche à faire :

    J'ai un fichier csv avec des séparateurs "|". Grace à la fonction split, j'ai récupéré tous mes champs (53) et toutes mes lignes (plus de 700) dans mon tableau Tb_TXT().
    Suite à cette manipulation, je souhaite récupérer certaine de ces valeurs et les mettre dans les cellules correspondantes de ma feuille (BAL_AGEE). Je n'ai qu'une seule feuille dans mon classeur.


    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
    Sub ExtrationChamps()
     
    Dim i As Integer, j As Integer, k As Integer
     
    k = 1
     
    For i = 21 To nbligne
        Tb_CSV = Split(Tb_fichier(i), "|")
        'boucle sur le tableau pour visualiser le résultat
        For j = 0 To UBound(Tb_CSV)
            If j < 53 Then
                Tb_TXT(k, j + 1) = Tb_CSV(j)
            End If
        Next j
        k = k + 1
    Next i
     
    End Sub
     
    Sub EcrireCelluleExcel()
     
    Dim i As Integer, j As Integer, k As Integer
    Dim valeur As String
     
     
    For i = 1 To nbligne
        k = 21 + i
     
        For j = 1 To 53
            Sheets("BAL_AGEE").Select
            valeur = Tb_TXT(i, j)
            Select Case j
                Case 4
                    'ID projet
                    Sheets(1).Cells(k, 4).Values = valeur
                Case 5
                    'Nom client
                    Cells(k, 3).Values = valeur
                Case 6
                    'N° facture
                    Cells(k, 5).Values = valeur
                Case 9
                    'Montant facturé
                    Cells(k, 7).Values = valeur
                Case 16
                    'Echu Harmony
                    Cells(k, 8).Values = valeur
                Case 37
                    'Nom responsable recouvrement
                    Cells(k, 2).Values = valeur
                Case 40
                    'N° Ligne
                    Cells(k, 6).Values = valeur
            End Select
        Next j
    Next i
     
    End Sub

    Quand j’exécute mon code, cela me génère une erreur 483 pour la ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     Sheets(1).Cells(k, 4).Values = valeur
    Pouvez-vous m'aidez s'ils vous plait ? J'ai l'impression que mon erreur est énorme mais je ne la vois pas...

    Merci d'avance.

    Lorinthal

  2. #2
    Membre chevronné
    Profil pro
    Inscrit en
    Février 2010
    Messages
    194
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 194
    Par défaut
    Bonjour,

    un "s" en trop qui se balade...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Sheets(1).Cells(k, 4).Values = valeur

  3. #3
    Membre averti
    Femme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2015
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Djibouti

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2015
    Messages : 17
    Par défaut
    Ah ben oui effectivement, sans le "S" ça marche beaucoup mieux !

    Merci pour la réponse rapide. Depuis 1h, je faisais mes tests et j'avais pas vu cette erreur

    Bonne fin de journée.

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

Discussions similaires

  1. Ecrire dans une cellule depuis une autre?
    Par noel45 dans le forum Excel
    Réponses: 5
    Dernier message: 10/01/2008, 16h00
  2. Alignement verticale dans une cellule td de tableau table
    Par Longrais dans le forum Balisage (X)HTML et validation W3C
    Réponses: 3
    Dernier message: 16/09/2005, 11h37
  3. Scrollbar dans une cellule d'un tableau
    Par Destampy dans le forum Balisage (X)HTML et validation W3C
    Réponses: 5
    Dernier message: 23/05/2005, 15h37
  4. Réponses: 4
    Dernier message: 15/04/2005, 15h25
  5. Réponses: 3
    Dernier message: 01/12/2003, 13h14

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