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 :

Adapter code pour coller des données dans disq C


Sujet :

Macros et VBA Excel

  1. #1
    Membre régulier
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Décembre 2011
    Messages
    571
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Burkina Faso

    Informations professionnelles :
    Activité : Chargé d'affaire
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2011
    Messages : 571
    Points : 93
    Points
    93
    Par défaut Adapter code pour coller des données dans disq C
    Bonjour à tous

    Merci pour toutes les fois que vous m'avez aider à solutionner mes soucis.
    J'ai le code ci-dessou qui me permet de copier des données et des les coller sur une feuille du meme fichier.
    Je veux cette fois ci que ces données copier soient coller sur la feuil1 du fichier SESAME qui se trouve sur le disque dur C.
    Comment faire pour trouver le chemin d'acces du fichier dans C?


    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
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    Sub COPIER_SESAME()
     
    'Déclaration des variables
     
    Dim b, c, d, e, f As String
     
    'Sélection de la valeur de !DONNE E10 et mise en variable
     
    Sheets("DONNE").Select
     
     
        'verification des cellules à copier
        If Range("B13").Value = "" Then
            MsgBox ("Manque le nom et le prenom")
        ElseIf Range("B28").Value = "" Then
            MsgBox ("manque le téléphone")
        ElseIf Range("B42").Value = "" Then
            MsgBox ("Manque le N° du compte")
        ElseIf Range("A56").Value = "" Then
            MsgBox ("Le client ne veut pas de carte")
     
            ElseIf Application.WorksheetFunction.CountIf(Sheets("STATSESAME").Range("c11:c" & Sheets("STATSESAME").Range("c65536").End(xlUp).Row), Range("B42").Value) > 0 Then
            MsgBox ("Ce compte est déjà présent dans la feuille STATSESAME")
        Else
     
        'copie des cellules
        b = Range("B42").Value  'nom_prenom
        c = Range("A56").Value  'Type produit
        d = Range("b28").Value  'téléphone
        e = Range("B13").Value  'n° compte
        f = Range("A55").Value  'Réf pièce
     
     
        'selection de la feuille de destination
        Sheets("STATSESAME").Select
     
        'selection de la première cellule de destination
        Range("c11").Select
     
        'vérification de la cellule de destination
        If ActiveCell.Value = "" Then 'si la cellule est vide, on colle
            ActiveCell = b
            ActiveCell.Offset(0, 1) = e
            ActiveCell.Offset(0, 2) = d
            ActiveCell.Offset(0, 3) = c
            ActiveCell.Offset(0, 4) = f
     
            Exit Sub
        Else 'la cellule n'est pas vide
     
            'on boucle tant que la cellule de destination n'est pas vide
            Do While ActiveCell.Value <> ""
     
            'selection de la cellule du dessous
            ActiveCell.Offset(1, 0).Select
     
                'si la cellule est vide, on colle
                If ActiveCell.Value = "" Then
                    ActiveCell = b
                ActiveCell.Offset(0, 1) = e
                ActiveCell.Offset(0, 2) = d
                ActiveCell.Offset(0, 3) = c
                ActiveCell.Offset(0, 4) = f
     
                    Exit Sub
                Else
                    'selection de la cellule du dessous
                    ActiveCell.Offset(1, 0).Select
                End If
     
            Loop 'on boucle tant que la cellule n'est pas vide
        End If
     
        'si la cellule est vide, fin de la boucle, et on colle
        ActiveCell = b
            ActiveCell.Offset(0, 1) = e
            ActiveCell.Offset(0, 2) = d
            ActiveCell.Offset(0, 3) = c
            ActiveCell.Offset(0, 4) = f
     
        End If
     
        End Sub

  2. #2
    Membre éprouvé Avatar de defluc
    Homme Profil pro
    Architecte
    Inscrit en
    Mai 2002
    Messages
    1 383
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Belgique

    Informations professionnelles :
    Activité : Architecte

    Informations forums :
    Inscription : Mai 2002
    Messages : 1 383
    Points : 1 199
    Points
    1 199
    Par défaut
    Il faut utiliser une fonction de recherche récursive à partir du répertoire racine du disque C.

    Voir http://silkyroad.developpez.com/vba/boucles/ et plus précisément la partie consacrée aux boucles récursives

  3. #3
    Membre régulier
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Décembre 2011
    Messages
    571
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Burkina Faso

    Informations professionnelles :
    Activité : Chargé d'affaire
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2011
    Messages : 571
    Points : 93
    Points
    93
    Par défaut
    Merci pour votre guide.
    J'ai regardé mais suis un peu nul en vba dc j'ai pas pu tirer quelque chose.
    Je sais pas si quelqu'un peu toujours me donner un coup de main.

  4. #4
    Membre éprouvé Avatar de defluc
    Homme Profil pro
    Architecte
    Inscrit en
    Mai 2002
    Messages
    1 383
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Belgique

    Informations professionnelles :
    Activité : Architecte

    Informations forums :
    Inscription : Mai 2002
    Messages : 1 383
    Points : 1 199
    Points
    1 199
    Par défaut
    La procédure récursive a pour but de parcourir les sous-répertoires.

    Vois donc du côté de l'objet FileSearch sur http://warin.developpez.com/access/fichiers/

  5. #5
    Expert éminent Avatar de casefayere
    Homme Profil pro
    RETRAITE
    Inscrit en
    Décembre 2006
    Messages
    5 138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : RETRAITE
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 138
    Points : 9 548
    Points
    9 548
    Par défaut
    Bonjour,

    Vois donc du côté de l'objet FileSearch
    Non, non pas avec excel 2007, voir plutot du coté de classefilesearch
    http://silkyroad.developpez.com/vba/classefilesearch/
    Cordialement,
    Dom
    _____________________________________________
    Vous êtes nouveau ? pour baliser votre code, cliquer sur cet exemple : Anomaly
    pensez à cliquer sur si votre problème l'est
    Par contre, il est désagréable de voir une discussion résolue sans message final du demandeur (satisfaction, désarroi, remerciement, conclusion...)

Discussions similaires

  1. [1.x] problème pour reprendre des données dans une DB
    Par phoelis1 dans le forum Symfony
    Réponses: 4
    Dernier message: 02/04/2008, 11h54
  2. [MySQL] Php, je ne comprends pas comment faire pour introduire des données dans une table
    Par Liondd dans le forum PHP & Base de données
    Réponses: 23
    Dernier message: 14/12/2006, 12h53
  3. Problème pour rentrer des données dans MySQL
    Par Sandara dans le forum Requêtes
    Réponses: 8
    Dernier message: 06/06/2006, 10h59
  4. Réponses: 5
    Dernier message: 14/05/2006, 12h57
  5. Réponses: 3
    Dernier message: 05/12/2005, 02h30

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