lecture fichier fermer sur différente feuille

  • Initiateur de la discussion Initiateur de la discussion kevenpom
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

K

kevenpom

Guest
petite questions
avec se code


Code:
Set Ws_Source = Worksheets("liste")
  With Ws_Source
      TabListe = Selection
      ' TabListe = .Range("A3:A" & .Range("A65536").End(xlUp).Row).Value
  End With
       Workbooks.Open Chemin & "\BD.xls"
    With ActiveWorkbook
        With .Worksheets("EMPL")
       DerLigne = .Range("A1").End(xlDown).Row
        Tabtemp = .Range(.Cells(2, 1), .Cells(DerLigne, 4)).Value
        End With
         .Close
    End With
    
' -------------------------------------------- Récupération de la localisation -----------------------------------------
    x = 0
   For Ligne = 1 To UBound(TabListe, 1) 'pour chaque element du tableau liste
     For L = 1 To UBound(Tabtemp, 1) 'pour chaque ligne du tableau bd
        If Tabtemp(L, 1) = TabListe(Ligne, 1) Then 'si egalite en colonne 1
          x = x + 1
             ReDim Preserve TabRecup(4, x) 'on redimensionne le tableau de récupération
               For Col = 1 To 4 'ici on boucle sur les colonne de la ligne trouvée
                 TabRecup(Col, x) = Tabtemp(L, Col)
               Next
        End If
      Next
   Next
With Worksheets("try")
  DerLigne = .Range("A65536").End(xlUp).Row + 1
  .Range(.Cells(2, 1), .Cells(DerLigne, 4)).ClearContents
  .Range("A2").Resize(UBound(TabRecup, 2), UBound(TabRecup, 1)) = Application.Transpose(TabRecup)
End With

sa me permet de récupérer mes emplacements d'articles mais si je voudrait en même temps récupérer une autre donnée de plus du style la colonne prix qui est situer dans une autre feuille de mon fichier BD.xls que dois-je faire.
Suis-je obliger de redouble ce code ou ya un moyen d'intégrer sa dans se code..
 
Re : lecture fichier fermer sur différente feuille

Bonjour,

Peut-être à insérer ici (sans plus d'info....):

Workbooks.Open Chemin & "\BD.xls"
With ActiveWorkbook
With .Worksheets("EMPL")
DerLigne = .Range("A1").End(xlDown).Row
Tabtemp = .Range(.Cells(2, 1), .Cells(DerLigne, 4)).Value
End With
With .Worksheets("autre feuille")
...........

.............
......
End With
.Close
End With
 
Re : lecture fichier fermer sur différente feuille

daccord mais pour ce qui est de
Code:
Chemin = ThisWorkbook.Path ' même dossier


  Set Ws_Source = Worksheets("liste")
        With Ws_Source
        TabListe = Selection
      ' TabListe = .Range("A3:A" & .Range("A65536").End(xlUp).Row).Value
  End With
  
    Workbooks.Open Chemin & "\BD-080209.xls"
        With ActiveWorkbook
        With .Worksheets("EMPL")
            DerLigne = .Range("A1").End(xlDown).Row
            Tabtemp = .Range(.Cells(2, 1), .Cells(DerLigne, 4)).Value
        End With
    
        With .Worksheets("ARTICLE")
            DerLigne2 = .Range("D1").End(xlDown).Row
             Tabtemp2 = .Range(.Cells(2, 4), .Cells(DerLigne2, 4)).Value
        End With
    
    .Close
    End With
    
' -------------------------------------------- Récupération de la localisation -----------------------------------------
    x = 0
   For Ligne = 1 To UBound(TabListe, 1) 'pour chaque element du tableau liste
     For L = 1 To UBound(Tabtemp, 1) 'pour chaque ligne du tableau bd
        If Tabtemp(L, 1) = TabListe(Ligne, 1) Then 'si egalite en colonne 1
          x = x + 1
             ReDim Preserve TabRecup(4, x) 'on redimensionne le tableau de récupération
               For Col = 1 To 4 'ici on boucle sur les colonne de la ligne trouvée
                 TabRecup(Col, x) = Tabtemp(L, Col)
               Next
        End If
      Next
   Next
With Worksheets("try")
  DerLigne = .Range("A65536").End(xlUp).Row + 1
  .Range(.Cells(2, 1), .Cells(DerLigne, 4)).ClearContents
  .Range("A2").Resize(UBound(TabRecup, 2), UBound(TabRecup, 1)) = Application.Transpose(TabRecup)
End With
ses mon Tabtemp2 et DerLigne2 que je sais pas comment rajouté dans mon code de ubound.

autrement dit mon ubound va chercher les données des colonnes 1 2 3 4 (tabletemp) pour les item dans TabListe et . mais si je voudrait en plus qu'il le fasse aussi pour la colonne 4 dans (tabletemp2) comment m'y prendre...
 
Dernière modification par un modérateur:
Re : lecture fichier fermer sur différente feuille

Code:
 Application.ScreenUpdating = False
  Chemin = ThisWorkbook.Path ' même dossier
 ' Chemin = "D:\keven\désuetude\bd.xls" 'a mettre

  
  With Worksheets("liste")
        TabListe = Selection
      ' TabListe = .Range("A3:A" & .Range("A65536").End(xlUp).Row).Value
        TabListePrix = .Range("A1:H" & .Range("A65536").End(xlUp).Row).Value
  End With
  
    Workbooks.Open Chemin & "\1.xls"
        With ActiveWorkbook
        With .Worksheets("feuil1")
            TabtempFu = .Range("A1:A" & .Range("A65536").End(xlUp).Row).Value
        End With
   .Close
        End With
  
  
    Workbooks.Open Chemin & "\BD.xls"
        With ActiveWorkbook
        With .Worksheets("EMPL")
            Tabtemp = .Range(.Cells(2, 1), .Cells(.Range("A1").End(xlDown).Row, 4)).Value
        End With
    
        With .Worksheets("ARTICLE")
            Tabtemp2 = .Range(.Cells(2, 1), .Cells(.Range("D1").End(xlDown).Row, 4)).Value
        End With
    .Close
        End With





With Worksheets("try")
        TabListeTry = .Range("A1:A" & .Range("A65536").End(xlUp).Row).Value
 End With
    
    
   x = 0
   For Ligne = 1 To UBound(TabListeTry, 1) 'pour chaque element du tableau liste
     For L = 1 To UBound(Tabtemp2, 1) 'pour chaque ligne du tableau bd
       If Tabtemp2(L, 1) = TabListeTry(Ligne, 1) Then 'si egalite en colonne 1
           x = x + 1
            ReDim Preserve TabRecup2(4, x) 'on redimensionne le tableau de récupération
               TabRecup2(1, x) = Tabtemp2(L, 4) * 1 ' le x1 ses pour transformer char en nombre
        End If
      Next
   Next
   
 With Worksheets("try")
    .Range(.Cells(2, 5), .Cells(.Range("E65536").End(xlUp).Row + 1, 5)).ClearContents                  'delete colonne pour insertion donnée
    .Range("E2").Resize(UBound(TabRecup2, 2), UBound(TabRecup2, 1)) = Application.Transpose(TabRecup2)

  End With

donc jai décidé de faire une nouvellew boucle pour aller chercher mon prix dans une feuillle spécifique d'un fichier xls ferme
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
4
Affichages
281
Réponses
15
Affichages
786
Réponses
5
Affichages
912
  • Question Question
Microsoft 365 worksheet_change
Réponses
29
Affichages
1 K
Réponses
4
Affichages
735
Retour