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 :

Problème selection de données VBA


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Architecte matériel
    Inscrit en
    Juin 2015
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Architecte matériel
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juin 2015
    Messages : 12
    Par défaut Problème selection de données VBA
    Bonjour,

    Je suis bloqué lors de la selection de celulle.

    Il faut que je sélectionne l'ensemble des valeur colonnes en enlevant la première lignes.

    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
    Sub RecuperationDesDonnees()
            Dim Chemin As String, Fichier As String, Nom As String
            Dim NewLig As Long, N As Long
            Dim Repertoire As FileDialog
            Dim Wb As Workbook
            Dim Plage
             
            Application.ScreenUpdating = False
            Set Repertoire = Application.FileDialog(msoFileDialogFolderPicker)
            Repertoire.Show
            Chemin = Repertoire.SelectedItems(1)
             
            Fichier = Dir(Chemin & "\" & "*.xls")
            Do While Fichier <> ""
                Set Wb = Workbooks.Open(Chemin & "\" & Fichier)
                With Wb.Worksheets(1)
                    ActiveSheet.UsedRange.Select
                    N = .Cells(.Rows.Count, 1).End(xlUp).Row
                    Plage = .Range("A1").Resize(N, 7)
                End With
             
                Nom = Wb.Name
                Wb.Close False
                Set Wb = Nothing
             
                With ThisWorkbook.Worksheets("Feuil1")
                    NewLig = .Cells(.Rows.Count, 4).End(xlUp).Row + 1
                    .Range("D" & NewLig).Resize(N, 7).Value = Plage
                    .Range("A" & NewLig).Resize(N) = Mid(Nom, 1, 14)
                    .Range("B" & NewLig).Resize(N) = Mid(Nom, 16, 8)
                    .Range("C" & NewLig).Resize(N) = Mid(Nom, 27, 2)
                End With
                Fichier = Dir()
            Loop
            Set Repertoire = Nothing
            MsgBox "Terminé"
            End Sub
    Je pense que le problème ce situe dans:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    N = .Cells(.Rows.Count, 1).End(xlUp).Row
    Comment lui dire d'enlever la première ligne.

    Merci d'avance pour vos réponses.

    Lyndils

  2. #2
    Membre chevronné
    Homme Profil pro
    Ingénieur Industrialisation
    Inscrit en
    Mai 2015
    Messages
    222
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur Industrialisation
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2015
    Messages : 222
    Par défaut
    Salut à toi,

    Je n'ai pas vraiment le temps de regarder dans le détail, mais je pense que tu as un problème au niveau de :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Plage = .Range("A1").Resize(N, 7)
    Ta plage étant une Range (donc un objet), pour lui assigner une range il faut utiliser :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Set Plage = .Range("A1").Resize(N, 7)
    Quentin

  3. #3
    Expert confirmé

    Homme Profil pro
    Curieux
    Inscrit en
    Juillet 2012
    Messages
    5 169
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Curieux
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2012
    Messages : 5 169
    Billets dans le blog
    5
    Par défaut
    Bonjour,

    sans entrer dans le débat du "pourquoi tu veux sélectionner"

    quand tu as besoin de retirer la ligne supérieur d'une plage "Resizée", le principe est :

    - de diminuer le resize d'une ligne
    - de prendre cette plage resizée, décalée d'une ligne

    essaye ça pour comprendre

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    ' A1:B10
    MsgBox Cells(1, 1).Resize(10, 2).Address
    ' A2:B10
    MsgBox Cells(1, 1).Resize(9, 2).Offset(1, 0).Address

  4. #4
    Membre averti
    Homme Profil pro
    Architecte matériel
    Inscrit en
    Juin 2015
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Architecte matériel
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juin 2015
    Messages : 12
    Par défaut
    Oh! Merci ça fonctionne!


    On peut mettre en résolu!

    Merci encore!

    Lyndils

  5. #5
    Expert confirmé

    Homme Profil pro
    Curieux
    Inscrit en
    Juillet 2012
    Messages
    5 169
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Curieux
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2012
    Messages : 5 169
    Billets dans le blog
    5
    Par défaut
    C'est à toi de marquer ton sujet à résolu ce sujet t'appartient

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

Discussions similaires

  1. Problème Select case ne prend pas en compte les données
    Par gogo850 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 29/06/2012, 10h42
  2. problème de selection de données
    Par Christophe dans le forum IHM
    Réponses: 6
    Dernier message: 30/11/2011, 09h14
  3. Envoi de données sendto() problème select
    Par jnico21200 dans le forum Bibliothèques
    Réponses: 5
    Dernier message: 19/05/2009, 14h26
  4. [VBA-E] Problème Select case
    Par jamelie dans le forum Macros et VBA Excel
    Réponses: 13
    Dernier message: 12/04/2007, 12h21
  5. [MySQL] Problème récupération de données avec un SELECT DISTINCT
    Par 12_darte_12 dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 25/07/2005, 14h48

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