Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Reformulation demande...

T

Tial

Guest
Bonjour à toutes et tous
Je reformule ma demande autrement (voir post plus bas). Car malgré certains exemples que j'ai réussi à trouver (grace à vous). Je n'ai pas réussi à faire ce que je voulais.

Voila mon problème:
Dans un répertoire quelconque j'ai X classeurs excel nommés
Tial1, Tial2, Tial3.......
Tous de meme style.

Sans avoir à ouvrir ces classeurs (ou ouvrir et fermer avec un "Application.ScreenUpdating = False") , je souhaiterai pour
chacun d'eux copier les valeurs des cellules
Par exemple "AJ2:AZ2,L4:AA4,AE4:AM4,M8,P8".

Puis coller ces valeurs dans un classeur de mon choix de cette façon :

(Tial1 "AJ2:AZ2,L4:AA4,AE4:AM4,M8,P8") Coller sur la ligne 3.
(Tial2"AJ2:AZ2,L4:AA4,AE4:AM4,M8,P8") Coller sur la ligne 4.
(Tial3"AJ2:AZ2,L4:AA4,AE4:AM4,M8,P8") Coller sur la ligne 5........

Je ne sais pas si ma demande est très claire.
Mais par avance un grand merci pour votre aide.
Tial
 
@

@+Thierry

Guest
Re: Reformulation demande... Solution par ADO...

Salut Tial, le forum

Je vois une solution par ADO...

Regarde l'excellent fichier de Ti dans ce fil de discution :

Lien supprimé

La Démo de Ti :
Lien supprimé

Mais attention voici les recommandations de Ti :

Pour info, dans ce fichier, voici les références que j'ai chez moi (avec Excel 2002, si tu as Excel 2000 les nombres ne seront pas les mêmes)

Visual Basic For Applications
Microsoft Excel 10.0 Object Library
OLE Automation
Microsoft Office 10.0 Object Library
Microsoft ActiveX Data Objects 2.7 Library
Microsoft Forms 2.0 Object Library



Bon Samedi
@+Thierry


PS pour Ti suite à ta demande, je viens seulement de découvrir et tester ce fichier sans aucune difficulté sous Excel 2000 / Win ME avec les références ci-dessus (9.0 à la place de 10.0 et 2.5 pour les ActiveX Data Objects)
 
V

vincent

Guest
Re le fil

je vais toujours trop vite,erreur recuperé en lisant tous les post du fil et de celui indiqué par Thierry je viens de decouvrir que l'on pouvait recuperer des données sans ouvrir le fichier Merci Thierry pour le lien et Ti pour le prog (Je comprend par encore tout lol !!!).

@+Vincent

Ps Tial mon prog ouvre et referme les fichiers sans intervention de l'utilisateur.J' ai oublier de rajoute en debut de procedure (juste apres Sub copiecolle) Application.ScreenUpdating = False et en fin Application.ScreenUpdating = True (juste avant End Sub)
 
T

Tial

Guest
Bonjour Thierry, Vincent, le forum

Merci pour votre aide.

La Démo de Ti me parait bien compliqué pour mon niveau.

Vincent, ta solution fonctionne très bien et correspond à ce que je voulais.
Pour mon info perso (et mieux comprendre), comment faut il faire si je veux choisir le répertoire ou sont rangés mes classeur adhérent1, adhérent2.....et non avoir un emplacement par défaut.

Encore un grand merci et bon week-end
Tial
 
V

vincent

Guest
Re

Si le chemin et fixe c'est simple remplace tous les Application.DefaultFilePath par le chemin de tes fichiers entre "" ("c:\monfichier" par exemple).

Sinon il fautdrait utiliser une input box ou faire une recherche sur tout le disque.

Voila

@+Vincent
 
V

vincent

Guest
Re le fil

J'ai modifier la procedure pour integrer une input box.

Voila

@+Vincent
 

Pièces jointes

  • suiviAdherent.zip
    11.8 KB · Affichages: 19
  • suiviAdherent.zip
    11.8 KB · Affichages: 21
  • suiviAdherent.zip
    11.8 KB · Affichages: 19
T

Tial

Guest
Bonsoir le forum

Pour simplifier encore:

Est il possible de remplacer l'input box en prenant comme référence ma cellule A1 car on arrive à avoir ceci:

Range("a1") = ThisWorkbook.Path (soit le chemin du répertoire).
Comme ça, on supprime la saisie dans l'input box .

Par avance merci pour votre aide et réponses.

Tial
 
V

vincent

Guest
Re

je ne suis pas sur de tout suivre comme je l'ai ecrit si le repertoire ou ce trouve les fichiers est fixe il est plus simple de l'inscrire dans le code sinon

remplace de le code (si tu utilise toujours mon fichier) par celui ci
Option Explicit
Sub copiecolle()
Application.ScreenUpdating = False
Dim monclasseur As String
Dim file As Workbook
Dim table, rep
Dim rang As Long
Dim colonne As Integer
table = Array("$aj$2", "$l$4", "$m$8", "$p$8", "$ae$4") ', "$ak$34", "$an$34" apte equipe ?
monclasseur = Dir(Range("a1") & "\adherent*.xls") 'ici la valeur de range("a1") donne le chemin ou ce trouve tes fichiers
If monclasseur = "" Then
MsgBox "pas de fichier adhérent dans le repertoire " & Chr(10) & Range("a1")
Exit Sub
End If
Do
Set file = GetObject(Range("a1") & "\" & monclasseur) 'même remarque
With file.Sheets(1)
rang = Range("c65536").End(xlUp).Row + 1
If rang = 14 Then rang = 15
For colonne = 0 To 4
Cells(rang, colonne + 3) = .Range(table(colonne))
Next
End With
file.Close
monclasseur = Dir
Loop Until monclasseur = ""
Set file = Nothing
Application.ScreenUpdating = True
End Sub

Donc si tu veux modifier le chemin d'acces modifie juste les deux lignes où il y un commentaire

Voilà
@+Vincent
 
P

pluton

Guest
menu deroulant

je suis sur la restructuration de fiches technique d'avion !!!
je voudrais avoir un menu deroulant ou je selectionne le model de l'avion est sa me sortiré la fiche technique !!!
toute les fiche technique sont sur le même model !!!
je suis nul sous excel
!!!!! help me !!!!
merci a tous les pros excel !
 

Pièces jointes

  • tableauxsuiviavions.xls
    41.5 KB · Affichages: 74

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…