Manipulation sous VBA d'1 fichier excel

Lapita_10452 Messages postés 13 Statut Membre -  
pou pouille Messages postés 212 Statut Membre -
Bonjour,

Je suis arrivé à ouvrir un fichier excel (fichier_A) avec un code VBA sous un autre fichier excel (Fichier_B) , je voulais savoir comment modifier le fichier_A, masquer des colonnes par exemple, depuis le code VBA du fichier_B, j'espère que ma question est assez claire.

Merci de votre réponse

Lapita
Configuration: Windows XP Internet Explorer 6.0

14 réponses

  1. pou pouille Messages postés 212 Statut Membre 31
     
    bonjours,
    si le fichier est ouvert:
    Windows("Fichier_A").Activate
    Columns("B:B").Select
    Selection.EntireColumn.Hidden = True
    0
    1. Lapita_10452 Messages postés 13 Statut Membre
       
      Bonjour, Voilà mon code où j'ai integré le tien

      Public Sub Parcourir()
      Dim fn
      fn = Application.GetOpenFilename 'can add parameters. See help for details.
      If fn = False Then
      MsgBox "Nothing Chosen"
      Else
      MsgBox "You chose " & fn
      'now that you have the name, you can open it or do something else
      End If

      Workbooks.Open fn
      Windows(fn).Activate
      Columns("B:B").Select
      Selection.EntireColumn.Hidden = True
      End Sub

      -----------------------------------

      Le programme bug au niveau de Windows(fn).Activate .. ça peut venir d'où le problème ?

      merci enormément pour ton aide

      Lapita
      0
  2. pou pouille Messages postés 212 Statut Membre 31
     
    cela ne marche pas à cause d'une chose :
    ici fn est le nom du fichier complet (c'est a dire qu'il contient aussi le chemin ex C:\...\)
    pour ma part j'ai déja rencontrer le meme problème que toi et mon remède est de travailler toujours dans le meme dossier, ainsi je compte le nombre de caractère qui composent le dossier , je le soustrait au nombre total de caratère du fichier et le tour est joué (seulement ca ne marche que pour un dossier fixe) ex:

    dim ThePath,TheFile,A,B,C as string
    ThePath = "C:\...\"
    TheFile = ActiveWorkbook.FullName
    B = Len(ThePath) 'renvoie longueur du Chemin
    A = Len(TheFile) ' " " " " " fichier
    C = A - B 'supprime le chemin du fichier
    Fichier = Right(TheFile, C)

    ici donc la fenetre à activer est : Fichier
    0
  3. Lapita_10452 Messages postés 13 Statut Membre
     
    Est ce que Fichier est un string ? je l'ai essayé, ça ne marche pas.

    Excuse moi si je t'embête

    Merci
    0
  4. pou pouille Messages postés 212 Statut Membre 31
     
    Re,
    ca me dérange pas ... ce me sort un peut du boulot :p
    heu pour ma part j'ai mis fichier en string et cela fonctionne ( je l'avais juste oublier dans mon message précédent.)
    sinon qu'elle est l'erreur qui se produit ? sur quel ligne ?
    tu peut metre un msgbox avant d'ouvrir la fenetre Fichier pour vérifier le nom
    msgbox Fichier
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. Lapita_10452 Messages postés 13 Statut Membre
     
    Re, mon msgbox me sort rien donc je crois j'ai dû faire une erreur kelke part, je te renvoi le code si ça ne te dérange pas de jetter un coup d'oeil dessus.

    Public Sub Parcourir()

    Dim fn
    Dim ThePath, TheFile, A, B, C As String
    Dim Fichier As String

    fn = Application.GetOpenFilename 'can add parameters. See help for details.

    If fn = False Then
    MsgBox "Nothing Chosen"
    Else
    MsgBox "You chose " & fn
    'now that you have the name, you can open it or do something else
    End If

    'fn.Open

    Workbooks.Open fn
    ThePath = fn
    TheFile = ActiveWorkbook.FullName
    B = Len(ThePath) 'renvoie longueur du Chemin
    A = Len(TheFile) ' " " " " " fichier
    C = A - B 'supprime le chemin du fichier
    Fichier = Right(TheFile, C)

    MsgBox Fichier

    Windows(Fichier).Activate

    Columns("B:B").Select

    Selection.EntireColumn.Hidden = True

    End Sub
    0
  7. pou pouille Messages postés 212 Statut Membre 31
     
    je suis bète je vois pas pourquoi on se prend la tete , lorsque tu fait ton workbook open, il pointe directement sur le fichier choisi, je te propose donc d'éfacer un bonne partie de mon code qui sert a rien et de garder que le principal:

    Public Sub Parcourir()
    Dim fn
    fn = Application.GetOpenFilename 'can add parameters. See help for details.
    If fn = False Then
    MsgBox "Nothing Chosen"
    Else
    MsgBox "You chose " & fn
    'now that you have the name, you can open it or do something else
    End If
    Workbooks.Open fn
    Columns("B:B").Select
    Selection.EntireColumn.Hidden = True
    End Sub
    0
  8. Lapita_10452 Messages postés 13 Statut Membre
     
    ça marche nickel !!! Merci :D
    0
  9. pou pouille Messages postés 212 Statut Membre 31
     
    de rien bonne journé ( pourquoi faire simple quand on peut faire compliqué mdr)
    0
  10. Lapita_10452 Messages postés 13 Statut Membre
     
    Re, je reviens vers toi pour une toute petite question.

    Est ce qu'il ya moyen d'avoir un UserForm (code VBA du fichier_B) ouvert qui sert à afficher et masquer les colonnes du fichier_A mais pouvoir en même temps modifier les cellules du fichier_A ???

    Merci

    Lapita
    0
  11. pou pouille Messages postés 212 Statut Membre 31
     
    oui bien sur ,
    lorsque tu est dans le visual basic editor alors tu fait inserer un Userform
    et sur cet Userform ( dans l'arboressence a gauche) tu clic droit dessus et tu fait afficher le code
    et dans ce code tu met ce que tu veut, comme
    Columns("B:B").Select
    Selection.EntireColumn.Hidden = True
    et ensuite les modif des cellules tout dépend de ce qu'il y avoir dedan!
    0
  12. Lapita_10452 Messages postés 13 Statut Membre
     
    Bonjour,

    c'est bien ça que j'ai fait. Mais quand le userform du fichier_B est affiché (pour cacher les colonnes du fichier_A) les cellules du fichier_A sont bloquées, je ne peux pas changer leur valeur par exemple.

    Est ce qu'il y a moyen d'activer le fichier_A pour changer la valeur de ses cellules tout en laissant le userform1 du fichier_B pour cacher ou afficher les colonnes ?

    Merci pour ton aide

    Elie
    0
  13. Lapita_10452 Messages postés 13 Statut Membre
     
    Re, désolé ! je peux pas le faire, c'est confidentiel , trucs d'entreprise, je peux me faire virer :S
    0
  14. pou pouille Messages postés 212 Statut Membre 31
     
    tu peut essayer de regarder les fonction que j'ai mis dans le workbook activate,
    le code de la textbox de l'userform
    et t'en inspirer
    http://www.cijoint.fr/cjlink.php?file=cj200911/cijLavd7nb.xls
    0