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èmes avec inputbox [XL-2003]


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
    Technicien maintenance
    Inscrit en
    Novembre 2013
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2013
    Messages : 21
    Par défaut Problèmes avec inputbox
    Bonjour à tous
    je débute en VBA et ça fait plusieurs semaines que je tourne en rond avec une macro
    Je 'arrive pas à définir une colonne variable (x1 à dernière cellule remplie de x)

    Voici mon code:
    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
    Sub A_inventaire_par_Boites_Dialogue_Test() ' Ne fonctionne pas, (en cours de modifs)
     
    Rem -compare la cellule "A2" de la colonne "A" feuille "Essai" classeur "Inventaire-Essai.xls" avec toutes les cellules de la colonne "B" de la feuille "Recapitulatif" du classeur "1Emplacement"
    'Si une valeur identique est trouvée: Remplacer le contenu de la cellule "3" (C) de la feuille Essai du classeur "Inventaire-Essai.xls"
    'par le contenu de la cellule de la colonne "J" de la feuille "Recapitulatif" du classeur "1Emplacement" dont la valeur est la même.
    'Sinon reprendre la comparaison a la cellule "A3" et ce jusqu'à la fin de la colonne "A"
        'Travail sur 2 feuilles dans 2 classeurs différents)
    'Choix des classeurs, des feuilles et des colonnes à comparer et à copier : par inputbox (ou par userform)
     
    'Définition =======================
    Dim Cel As Range, Cel_A As Range
    Dim F_A As Worksheet, F_B As Worksheet ', x As Worksheet, y As Worksheet, z As Worksheet
    Dim Fi1 As String, Fi2 As String, F1 As String, F2 As String, co1 As Range, co2 As Range, C1 As String, C2 As String, Dep As String, Ar As String
     
    'Attribution des variables ==============================
    Fi1 = InputBox("Nom du fichier 1", "Nom1")
    Fi2 = InputBox("Nom du fichier 2", "Nom2")
    F1 = InputBox("Nom de la feuille 1", "Feuil1")
    F2 = InputBox("Nom de la feuille 2", "Feuil2")
    'On Error GoTo ErreurFichier
     
        C1 = InputBox("Colonne de référence 1", "Colonne1")
        C2 = InputBox("Colonne de référence 2", "Colonne2")
     
        Dep = InputBox("Nombre de colonne entre la Colonne de référence et la colonne de copie", "Depart")
        Ar = InputBox("Colonne d' arrivée (collage)", "Arrivee")
     
       Set co1 = [(C1) & "2": (C1)& Selection.End(xlUp)].Range 'Problème : (c'est là que ça coince)
       Set co2 = [C2 & "2": C2& Selection.End(xlUp)].Range     'Problème : (là,ça doit coincer aussi)
     
    Set F_A = Workbooks(Fi1 & ".xls").Sheets(F1).Range(co1)
    Set F_B = Workbooks(Fi2 & ".xls").Sheets(F2).Range(co2)
     
    'Traitement =======================
        'F_A = feuille du classeur déterminés par inputbox
     
        'For Each Cel In F_A.Range(F_A.[A1], F_A.Range("A" & Rows.Count).End(xlUp))
    For Each Cel In co1
        If Not (IsEmpty(Cel)) Then  'si Cel n'est pas vide
     
        'Set Cel_A = F_B.Columns(2).Find(Cel)  'Columns(2)= colonne B
            'fixer Cel_a en tant cellule trouvée identique à Cel
            'Set Cel_A = co2
                       If Not (co2 Is Nothing) Then
                        'si Cel_A existe
    F_B.Range(Cel_A.Offset(0, Dep), Cel_A.Offset(0, Dep)).Copy F_A.Cells(Cel.Row, (Ar))
                'F_B.Range(Cel_A.Offset(0, 4), Cel_A.Offset(0, 4)).Copy F_A.Cells(Cel.Row, "C")
                'Copie les cellules F de la feuille 4 en C de la feuille 3
                '(J=9 : Colonne de référence + différence pour colonne à copier)
     
           End If
        End If
    Next Cel    'Boucle sur cellule suivante
    Exit Sub
    ErreurFichier:
    MsgBox "!Erreur de nom de classeur ou de feuille !"
    End Sub
    Au départ, j'étais parti pour faire ça d'après un userform, mais je n'y arrive pas non plus (je me re-pencherai dessus lorsque ça fonctionnera avec les inputbox, ça devrais être plus facile pour moi de comprendre la logique.
    j'avais fait pour cela une demande d'aide il y a quelque semaine, restée sans réponse susceptible de m'aider.
    je repart donc sur du "plus facile" (je pense), espérant que, cette fois, quelqu'un connaitra la syntaxe d'écriture pour mon problème.
    avec tous mes remerciements anticipés
    Cordialement.

  2. #2
    Invité
    Invité(e)
    Par défaut bonjour, regarde ça!
    Dernière modification par Invité ; 30/12/2013 à 16h42.

  3. #3
    Membre averti
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Novembre 2013
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2013
    Messages : 21
    Par défaut
    Bonjour Rdurupt
    Merci de ta réponse, mais ça ne m'a pas aidé beaucoup, car je ne suis pas arrivé à l'intégrer dans mon code
    Impossible de faire une sélection dans une feuille d'un autre classeur.
    (je joints mon fichier CLAS2)
    J'ai dans celui-ci un équivalent de ce que tu m'a fourni où je peux changer de feuille, et qui correspondrait mieux à mes besoins mais, pareil, je n'ai, pour l'instant pas les capacités pour l'intégrer
    Par contre, je suis sur la bonne voie par intupbox (Macro dans fichier CLAS5)
    je n'ai plus qu'un petit problème de copie à régler au niveau des cellules source.

    Bon réveillon
    Fichiers attachés Fichiers attachés

  4. #4
    Invité
    Invité(e)
    Par défaut
    bonjour,
    Fichiers attachés Fichiers attachés

  5. #5
    Membre averti
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Novembre 2013
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2013
    Messages : 21
    Par défaut
    Merci
    Au premier abord, ça me parait intéressant
    Je vais voir pour étudier plus en profondeur son fonctionnement et essayer de l'intégrer dans ma macro
    Bonne fin d'année

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

Discussions similaires

  1. [AC-2003] problème liste deroulante avec inputbox
    Par makila64 dans le forum IHM
    Réponses: 2
    Dernier message: 28/03/2012, 08h31
  2. Problème avec inputbox
    Par jerem1 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 15/12/2010, 07h41
  3. [AC-2003] Problème avec INPUTBOX
    Par moilou2 dans le forum VBA Access
    Réponses: 4
    Dernier message: 18/08/2009, 15h14
  4. Problème avec le bouton Annuler de la fonction Inputbox
    Par r0main2b dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 05/06/2007, 19h48
  5. Problème avec la mémoire virtuelle
    Par Anonymous dans le forum CORBA
    Réponses: 13
    Dernier message: 16/04/2002, 16h10

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