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 :

VB Excel Ajout de données


Sujet :

Macros et VBA Excel

  1. #1
    Nouveau candidat au Club
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    1
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2006
    Messages : 1
    Par défaut VB Excel Ajout de données
    Bonjour tout le monde,
    Il y a quelques mois j'ai déjà fait appel à vous et la réponse rapide que j'ai eue dépassait mes espérances aussi je voudrais vous soumettre mon nouveau problème.
    Dans une feuille excel, colonne A
    J'ai tout d'abord 4 listes de données que j'appelerai pour la facilité
    1,2,....,26
    a,b,....,z
    A,B,...Z
    &,é,....)
    Ces données me sont fournies dans un ordre aléatoire en provenance d'un autre programme

    Genre :

    1
    C
    !
    a
    Z
    etc....

    Le nombre données reçues est lui aussi aléatoire parfois 2 parfois 50 donc je ne peux présumé de la longueur de cette colonne, mais jusque 200 maximum.

    Je voudrais une macro qui scanne la colonne A et qui écrive dans la colonne B
    un code en rapport avec les données de la colonne

    Par exemples :
    1 dans la colonne A devra toujours me donner par exemple DNA1 dans la colonne B
    Z dans la colonne A devra toujours me donner par exemple DNA7 dans la colonne B
    et ainsi de suite

    La solution de ce problème m'épargnerais des heures de travail fastidieux

    Je suis tout à fait novice en la matière alors si le code peut être complet, sans vouloir être exigeant, ce serait parfait.

    En vous remerciant toutes et tous par avance pour vos réponses,

    Kyle

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    88
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 88
    Par défaut
    Salut Kyle,

    Pour te mettre sur la piste, tu peux utiliser le code que je viens de poster : celui-ci te permet de scanner la colonne A qui peut être de longueur dynamique. APrès à toi d'y coller le traitement qui va bien

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    Private Sub traitement()
        Dim I As Integer
        Dim Plage As Range, Cell As Range
     
        I = Range("A65536").End(xlUp).Row
        Set Plage = Range("A2:A" & I).SpecialCells(xlVisible)
     
        For Each Cell In Plage
                 ' traitement
        Next Cell
     
    End Sub

  3. #3
    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

    Attention. Le code proposé posera problème si la dernière ligne de A est supérieure à 32768. Il vaut mieux déclarer i comme Long.

    Citation Envoyé par laurent_ifips
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    Private Sub traitement()
        Dim I As Integer
        Dim Plage As Range, Cell As Range
     
        I = Range("A65536").End(xlUp).Row
        Set Plage = Range("A2:A" & I).SpecialCells(xlVisible)
     
        For Each Cell In Plage
                 ' traitement
        Next Cell
     
    End Sub
    On peut aussi utiliser directement
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
        Dim Plage As Range
     
        Set Plage = Range("a2:a" & Range("a65536").End(xlUp).Row)
     
    ...
    De même, pour une compatibilité avec les nouvelles versions d'excel comptant plus de 65536 lignes, on pourra écrire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
        Dim Plage As Range
     
        Set Plage = Range("a2:a" & Range("a" & Rows.Count).End(xlUp).Row)
    "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...
    ---------------

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    88
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 88
    Par défaut
    Oups, bien vu Pierre

Discussions similaires

  1. [XL-2007] Ajout de données par userform dans une feuille excel
    Par Marc31 dans le forum Macros et VBA Excel
    Réponses: 16
    Dernier message: 13/12/2011, 14h41
  2. [AC-2003] ajout de données dans un fichier Excel
    Par MichelMortier dans le forum VBA Access
    Réponses: 0
    Dernier message: 31/08/2009, 16h38
  3. C#: Ouvrir un fichier Excel, ajouter des donneés, et enregistrer
    Par soufian1364 dans le forum Services Web
    Réponses: 4
    Dernier message: 24/03/2009, 14h12
  4. Ajouter des données Excel à une table SANS références?
    Par Miss Ti dans le forum VBA Access
    Réponses: 6
    Dernier message: 12/10/2007, 18h58

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