Communauté Fb
Follow us on twitter
Les vidéos du site
Le site complément
Dépannage de votre PC

Programmer en vb

Bonjour et bienvenue,

Programmer en VB est le site qui vous fera prendre conscience que vous pouvez concevoir votre programme informatique vous-même, que vous soyez artisan, employé ou étudiant.

Le Visual Basic est un langage informatique très puissant, très flexible et très abordable.
Une version en application se trouve sous Office
Excel pour exemple :
Tapez Alt + F11 à l’aide de votre clavier puis vous voilà dans l’éditeur de code VBA.

Notre forum d’entraide vous offre des tutoriels ainsi que divers exemples tout prêt à adapter à votre projet personnel.
Nous vous demandons uniquement de la bonne humeur et de la bonne volonté pour toutes questions ou toutes aides quelle qu’elle soit.
Sachez que pour progresser rapidement il est conseillé d’aider au mieux les autres membres.
Nous ne sommes pas là pour juger les qualités ou défauts de codes proposés, mais pour trouver ensemble la solution à votre demande.

A vos claviers :

Afin de remplir le forum, nous vous demandons de partager sur les réseaux sociaux et autres.
https://www.facebook.com/AdminPVB/


Merci de nous rejoindre sur http://programmer-en-vb.forumactif.org/
Merci d'avoir pris le temps de lire.
Merci pour votre inscription.

L'équipe de Programmer-en-VB

Forum de programmation VBA et VB.NET

Welcome if you do not speak french,you are able to translate the whole topics with the flags just below this message. Click to English

Visual Basic Application et VB.net de puissants langages à la portée de tous.

Participez et soyez acteurs des divers forums ci-dessous.

Bienvenue à chaque nouveaux membres et merci à tous ceux qui font vivre ce forum.


Qui est en ligne ?

Il y a en tout 8 utilisateurs en ligne :: 0 Enregistré, 0 Invisible et 8 Invités

Aucun


Le record du nombre d'utilisateurs en ligne est de 65 le Mar 8 Juil - 23:40

Statistiques

Nos membres ont posté un total de 5391 messages dans 635 sujets

Nous avons 461 membres enregistrés

L'utilisateur enregistré le plus récent est RACCH

Recherche dans les forums

Utiliser cette méthode afin de trouver rapidement les discussions disponible sur notre forum.


Utiliser le bouton résolu

Dans votre message d'origine
cliquer sur le bouton



Ensuite tout en bas sur
Modifier le titre du sujet
cliquer sur le bouton

Résolu !!!

Ensuite changer l’icône du sujet par le bouton

Voilà pas plus compliqué que cela.


Merci pour votre présence ou passage sur le site de programmer-en-vb

Partenaires


créer un forum



Annuaire referencement


Flux RSS


MSN 

Novembre 2017

LunMarMerJeuVenSamDim
  12345
6789101112
13141516171819
20212223242526
27282930   

Calendrier Calendrier

Création d'un raccourci sur le Bureau pour son Application

Mar 10 Oct - 18:49 par IFFIC

Bonsoir à tous, ou Bonjour s'il est plus tôt qu'à cette heure,
Je ne suis pas passé bien souvent par ici, car j'étais pris sur un gros projet depuis voici un peu plus d'un an.

Au bénéfice de bidouilles trouvées dans mes travaux, je vous livre celle-ci:
Car il est bien confortable de n'avoir pas à fouiller dans l'arborescence d'un disque externe ou une clé USB, voire en ayant changé de …

[ Lecture complète ]
Petits bidouillages pour ce faciliter La vie ,Astuces et codes pratique

Dim 11 Juin - 12:20 par Berly

Bonjour le Forum  Very Happy.

Lorsque j'écrivais dans mon code Console.Writeline ("Patati,Patata,......) ,j'ai d'abord utilisé le copié collé en changeant la valeur du texte .

Bon d'accord ,c'est bien mais ,ça me saoul un peu ,au fur et a mesure de mes apprentissages ,j'ai découvert les fonctions  Very Happy.

Maintenant je partage celle ci avec vous .

On est la sur un exemple de code en "Mode …

[ Lecture complète ]
Menustrip Vbnet Visual Studio

Sam 16 Sep - 21:05 par Berly

Bonsoir le Forum  Very Happy

Je suis actuellement en construction  d'un logiciel pour les enfants en scolarité primaire.(Visual Studio Community 2017)

Je l'ai commencé et il fonctionne parfaitement a ce stade.

J'utilise Le contrôle MenuSrip.

Au commencement il est question d'afficher par catégorie tables de 1 a 10 .
Un Premier Bouton "Tables de Multiplications" Aucun événement 
Puis Ajouts …

[ Lecture complète ]
suppression d'un fichier txt en cours d'utilisation

Mar 5 Sep - 9:51 par La boc

Bonjour,

dans mon application j'ai un fichier txt qui est chargé dans un DataGridView en fonction du n° ID.

Quand je supprime un ID, je dois aussi supprimer ce fichier, quand je fait un delete ça marche bien, le fichier est bien supprimé du dossier mais quand je ferme l'application j'ai un message box:

"Violation de l’accès concurrentiel:
Delete command a effectué 0 des enregistrements …

[ Lecture complète ]
Boucle sur DataGridView

Jeu 31 Aoû - 8:25 par La boc

Bonjour as tous,

J'ai laissé tomber la BDD avec les tables pour mes factures, parce-que j'ai plus de 850 entrées à gérer et ça va être un peu trop lourd.

Je suis donc partis sur des DataGridView pour emplir mes factures, et au lieu d'enregistrer dans une BDD j'enregistre dans un fichier txt et je recharge les fchier en fonction du nom du client.

Jusque là pas de problème.

Je voudrais …

[ Lecture complète ]
Liers des tables dans une BDD

Lun 28 Aoû - 15:08 par La boc

Bonjour à tous,

Je sèche sur un problème visiblement simple, mais impossible de faire quelque chose qui fonctionne!

Voilà dans une base de données access j'ai deux tables, une table client et une table facture, je souhaiterais lier les ID des deux tables pour que quand je choisis un id client j'ai sa facture dans la table facture.

Je fais une application VBNET avec Visulal studio comunity …

[ Lecture complète ]
Application

Lun 15 Mai - 19:02 par Berly

Bonjour le forum

Souci dans une nouvelle application.

Total des énoncés =3

Ecriture de l'énoncé 1 dans un Textbox.

Je voulais créer plusieurs problèmes différents.
Dons pour cela j'ai créé 3 sub  Laughing.

Lors de l'événement clic sur le bouton créé pour visualiser le premier énoncé celui ci s'affiche correctement Very Happy .
Suite a cela l'utilisateur donne le résultat ,et un Msgbox …

[ Lecture complète ]
Obtenir le volume sonore enregistré par le micro

Sam 10 Sep - 13:29 par Nayl.VBcoder

Bonjour,

Je cherche à avoir le volume sonore de la pièce en temps réel, et l'afficher dans une ProgressBar.
Je ne vois pas comme plus décrire mon problème.

Merci de vos réponses.

Utilisation d'un objet son (Wav)

Jeu 18 Mai - 21:48 par Berly

Bonjour le forum 

Voila , je voudrais savoir si on peut créer un tableau d'objets son.
Difficile de trouver ce genre d'information .

Les sons  sont intégrés en ressources programme.

Merci  Very Happy
Code:
[Module Module1
    Dim son1 = New System.Media.SoundPlayer(My.Resources._0283)
    Dim son2 = New System.Media.SoundPlayer(My.Resources._0863)
    Dim son3 = New …


[ Lecture complète ]

Extraire des données de plusieurs factures

Partagez
avatar
danpom302
Step_Three_VBA
Step_Three_VBA

Localisation : Québec
Messages : 387
Date d'inscription : 23/09/2013
Age : 66

Résolu Extraire des données de plusieurs factures

Message par danpom302 le Lun 4 Juil - 22:43

Bonjour à tous,

Je cherche à extraire des données de plusieurs classeurs (Environ 250) se trouvant tous dans le même dossier, la même feuille soit Sheet1 et toujours les mêmes cellules soit T7, S4, C10, C9, P16,E9.

À partir du classeur "Registre des factures" ayant 9 titres de colonnes ligne 1, la macro lorsqu'exécutée doit ouvrir chaque classeur pour y extraire les données et les coller dans le registre des factures ligne 2 sous les titres puis fermer le 1er classeur, ouvrir le 2e pour extraire à nouveau les données pour les coller puis le 3e, etc.

C'est un travail monstre et j'apprécierais si vous pouviez s.v.p. m'aider avec un code.

Merci,

Dan
avatar
danpom302
Step_Three_VBA
Step_Three_VBA

Localisation : Québec
Messages : 387
Date d'inscription : 23/09/2013
Age : 66

Résolu Re: Extraire des données de plusieurs factures

Message par danpom302 le Mar 5 Juil - 18:13

Bonjour à tous,

Voici j'ai commencer à travailler sur un code mais j'aurais besoin d'aide pour le compléter.

Code:
Sub Synthèse()
'
' Parcourir tous les classeurs
'
Code:
    'Dim Classeur As ThisWorkbook
    'Dim repertoire As String, fichier As String
   
    Application.ScreenUpdating = False
   
    ChDir "C:\Users\Utilisateur\Documents\TPKD\Registre facture 2014-2015 TPKD"
    Classeur = Dir("C:\Users\Utilisateur\Documents\TPKD\Registre facture 2014-2015 TPKD\*.xlsx")
    While Len(Classeur) > 0
    Workbooks.Open Classeur
   
    Range("T7").Select
    Selection.Copy
    Range("AB7").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Range("S4").Select
    Selection.Copy
    Range("AC7").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Range("C10").Select
    Selection.Copy
    Range("AD7").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Range("C9").Select
    Selection.Copy
    Range("AE7").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Range("P16").Select
    Selection.Copy
    Range("AF7").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Range("E9").Select
    Selection.Copy
    Range("AG7").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Range("P10").Select
    Selection.Copy
    Range("AH7").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Range("P11").Select
    Selection.Copy
    Range("AI7").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Range("P13").Select
    Selection.Copy
    Range("AJ7").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Range("AB7:AJ7").Select
    Selection.Copy
            
    Windows("A_Reg_Fact_2014-2015.xlsm").Activate
Code:
    Range("B65000").End(xlUp).Offset(1, 0).Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
   
    If Windows.Count > 1 Then Windows(2).Activate
   
    ActiveWorkbook.Close savechanges:=True
   
    Classeur = DirWend
Code:
Wend
End Sub

Tout fonctionne relativement bien sauf que j'aimerais que la macro ouvre le 2e classeur du répertoire puis le 3e et ainsi de suite tout en effectuant le même code jusqu'au dernier classeur se trouvant dans le répertoire. Je dois extraire certaines données de plus de 250 classeurs. Ouf.

Pouvez-vous m'aider s.v.p.? Je suis à cours d'idées...

Merci,

Dan
avatar
AdminPVB
Admin
Admin

Localisation : France Nord 59
Messages : 1902
Date d'inscription : 24/05/2013
Age : 41

Résolu Re: Extraire des données de plusieurs factures

Message par AdminPVB le Mar 5 Juil - 22:20

Bonjour
Dans un premier temps je te suggère de regarder cette vidéo sur le traitement des fichiers d'un dossier
Cela ne va pas résoudre directement ton problème mais te donnera une autre approche du traitement
Je te laisse consulter puis reviens vers toi demain en soirée (pour moi)
A+


_________________
Avatar


Bienvenue sur

Dans votre message d'origine cliquer sur le bouton

Tout en bas sur Modifier le titre du sujet cliquer sur le bouton : Résolu !!!
Changer l’icône du sujet par le bouton

Tout simplement.


Merci pour votre présence ou passage sur le site de programmer-en-vb

Celui qui croit tout connaitre, ne connait sans doute pas grand chose,chacun apporte son savoir, mais on a tous tout à apprendre ....  

study

avatar
danpom302
Step_Three_VBA
Step_Three_VBA

Localisation : Québec
Messages : 387
Date d'inscription : 23/09/2013
Age : 66

Résolu Re: Extraire des données de plusieurs factures

Message par danpom302 le Mar 5 Juil - 22:53

Bonjour à tous,

Je progresse avec mon code. Il ne reste qu'à boucler sur le 2e classeur de dossier puis le 3e, etc., etc, etc, 250 classeurs plus tard.

Voici donc la mise à jour de mon code :

Code:
Sub Synthèse()
'
' Parcourir tous les classeurs
'

    'Dim Classeur As ThisWorkbook
    'Dim repertoire As String, fichier As String
   
    Application.ScreenUpdating = False
   
    ChDir "C:\Users\Utilisateur\Documents\TPKD\Registre facture 2014-2015 TPKD"
    Classeur = Dir("C:\Users\Utilisateur\Documents\TPKD\Registre facture 2014-2015 TPKD\*.xlsx")

While Len(Classeur) > 0
   
    Do
    Workbooks.Open Classeur
   
    Range("T7").Select
    Selection.Copy
    Range("AB7").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Range("S4").Select
    Selection.Copy
    Range("AC7").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Range("C10").Select
    Selection.Copy
    Range("AD7").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Range("C9").Select
    Selection.Copy
    Range("AE7").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Range("P16").Select
    Selection.Copy
    Range("AF7").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Range("E9").Select
    Selection.Copy
    Range("AG7").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Range("P10").Select
    Selection.Copy
    Range("AH7").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Range("P11").Select
    Selection.Copy
    Range("AI7").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Range("P13").Select
    Selection.Copy
    Range("AJ7").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Range("AB7:AJ7").Select
    Selection.Copy
           
    Windows("A_Reg_Fact_2014-2015.xlsm").Activate

    Range("B65000").End(xlUp).Offset(1, 0).Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
   
    If Windows.Count > 1 Then Windows(2).Activate
   
    ActiveWorkbook.Close savechanges:=True
   
   
Loop
Wend
End Sub


J'apprécierais une réponse à mon problème s.v.p. S'il y a une façon de condenser ce code, je suis ouvert bien entendu.

Merci pour votre aide,

Dan Very Happy
avatar
danpom302
Step_Three_VBA
Step_Three_VBA

Localisation : Québec
Messages : 387
Date d'inscription : 23/09/2013
Age : 66

Résolu Re: Extraire des données de plusieurs factures

Message par danpom302 le Mar 5 Juil - 23:06

Bonjour adminPVB,

Impossible de me connecter pour regarder la video ?? Sad

Désolé,

Dan
avatar
gelinotte

Messages : 3
Date d'inscription : 06/07/2016

Résolu Re: Extraire des données de plusieurs factures

Message par gelinotte le Mer 6 Juil - 1:44

Bonjour,

Est-ce que tu sais que l'on peut lire dans un classeur sans l'ouvrir ?
Ce serait beaucoup plus rapide.

Je retrouve le code et je reviens.


Gelinotte
avatar
danpom302
Step_Three_VBA
Step_Three_VBA

Localisation : Québec
Messages : 387
Date d'inscription : 23/09/2013
Age : 66

Résolu Re: Extraire des données de plusieurs factures

Message par danpom302 le Mer 6 Juil - 1:56

Merci Gelinotte.

À Bientôt,

Dan Very Happy
avatar
gelinotte

Messages : 3
Date d'inscription : 06/07/2016

Résolu Re: Extraire des données de plusieurs factures

Message par gelinotte le Mer 6 Juil - 5:16

Bonjour,

À partir de ton code du post #4, j'ai agrémenté pour extraire les données des cellules de fichiers présent dans le dossier (boucle sur chacun des fichiers présent dans le dossier).

Évidemment, il faut tester sur une copie.

Reste à s'assurer du chemin du dossier des factures ... j'ai mis la fin du code en commentaire, ne comprenant pas bien ce traitement ... ce sera donc à adapter.

Espérant avoir bien compris ta demande.


Gelinotte
Fichiers joints
LireLesFactures.xlsm
Vous n'avez pas la permission de télécharger les fichiers joints.
(27 Ko) Téléchargé 3 fois
avatar
AdminPVB
Admin
Admin

Localisation : France Nord 59
Messages : 1902
Date d'inscription : 24/05/2013
Age : 41

Résolu Re: Extraire des données de plusieurs factures

Message par AdminPVB le Mer 6 Juil - 6:57

Bonjour Danpom302,Gelinotte
@Gelinotte, bienvenue chez nous et merci pour l'aide apportée.
@Danpom302, oups j'ai oubié de mettre le lien,le voici mais je pense que l'idée est de rejoindre celle de gelinotte ne pas ouvrir les fichiers.
https://www.youtube.com/watch?v=4uQgKSXjQ28
A bientôt.


_________________
Avatar


Bienvenue sur

Dans votre message d'origine cliquer sur le bouton

Tout en bas sur Modifier le titre du sujet cliquer sur le bouton : Résolu !!!
Changer l’icône du sujet par le bouton

Tout simplement.


Merci pour votre présence ou passage sur le site de programmer-en-vb

Celui qui croit tout connaitre, ne connait sans doute pas grand chose,chacun apporte son savoir, mais on a tous tout à apprendre ....  

study

avatar
danpom302
Step_Three_VBA
Step_Three_VBA

Localisation : Québec
Messages : 387
Date d'inscription : 23/09/2013
Age : 66

Résolu Re: Extraire des données de plusieurs factures

Message par danpom302 le Mer 6 Juil - 20:42

Bonjour AdminPVB et gelinotte,

Merci pour vos propositions. J'ai essayé d'adapter ce que vous me proposés et rien ne fonctionne. Il y a toujours un problème que je 'arrive pas à solutionner après des heures d'essais. Je dois remettre une synthèse de plus de 250 fichiers demain. Sad

Voici, à ce jour, ce qui fonctionne le mieux est le dernier code que je vous ai soumis (Voir ci-après). La première facture No 14-0111 s'ouvre, le transfère des données s'effectues telle que voulue, la facture se ferme, la boucle s'effectue mais ouvre à nouveau la facture 14-0111 pour traitement alors qu'elle devrait ouvrir la facture suivante soit la No 14-0122.

Mon code :
Code:

Sub Synthèse()
'
' Parcourir tous les classeurs
'
    
    Dim repertoire As String, fichier As String
    
    repertoire = "C:\Users\Utilisateur\Documents\TPKD\Registre facture 2014-2015 TPKD"
    'ChDir "C:\Users\Utilisateur\Documents\TPKD\Registre facture 2014-2015 TPKD\FACTURE 14-0111_Wolseley Canada).xlsx"
    Classeur = Dir("C:\Users\Utilisateur\Documents\TPKD\Registre facture 2014-2015 TPKD\FACTURE 14-0111_Wolseley Canada).xlsx")

Do While Len(Classeur) > 0
      
    Workbooks.Open Classeur
    
    Range("T7").Select
    Selection.Copy
    Range("AB7").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Range("S4").Select
    Selection.Copy
    Range("AC7").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Range("C10").Select
    Selection.Copy
    Range("AD7").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Range("C9").Select
    Selection.Copy
    Range("AE7").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Range("P16").Select
    Selection.Copy
    Range("AF7").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Range("E9").Select
    Selection.Copy
    Range("AG7").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Range("P10").Select
    Selection.Copy
    Range("AH7").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Range("P11").Select
    Selection.Copy
    Range("AI7").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Range("P13").Select
    Selection.Copy
    Range("AJ7").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Range("AB7:AJ7").Select
    Selection.Copy
            
    Windows("A_Reg_Fact_2014-2015.xlsm").Activate

    Range("B65000").End(xlUp).Offset(1, 0).Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    
     fichier = Dir()
  
   Application.ScreenUpdating = True
    
    If Windows.Count > 1 Then Windows(2).Activate
    
    ActiveWorkbook.Close savechanges:=True
    
Loop

End Sub



Avez-vous une idée comment solutionner mon problème s.v.p.? Very Happy

Merci,

Dan
avatar
AdminPVB
Admin
Admin

Localisation : France Nord 59
Messages : 1902
Date d'inscription : 24/05/2013
Age : 41

Résolu Re: Extraire des données de plusieurs factures

Message par AdminPVB le Mer 6 Juil - 21:16

Bonsoir
Je vais te donner une réponse dans la soirée qui sera concluante pour répondre à ton exigence de temps
A+


_________________
Avatar


Bienvenue sur

Dans votre message d'origine cliquer sur le bouton

Tout en bas sur Modifier le titre du sujet cliquer sur le bouton : Résolu !!!
Changer l’icône du sujet par le bouton

Tout simplement.


Merci pour votre présence ou passage sur le site de programmer-en-vb

Celui qui croit tout connaitre, ne connait sans doute pas grand chose,chacun apporte son savoir, mais on a tous tout à apprendre ....  

study

avatar
AdminPVB
Admin
Admin

Localisation : France Nord 59
Messages : 1902
Date d'inscription : 24/05/2013
Age : 41

Résolu Re: Extraire des données de plusieurs factures

Message par AdminPVB le Mer 6 Juil - 22:25

Re,
essai ça pour commencer:
Code:
Dim montableau(250) As String
Dim Chemin As String ' Chemin
Sub Synthèse()
'
' Parcourir tous les classeurs
'
    Call liste
    Dim repertoire As String, fichier As String, x As Integer
    'pas obliger ais peut etre utiliser (ligne ci dessous)
    repertoire = "C:\Users\Utilisateur\Documents\TPKD\Registre facture 2014-2015 TPKD"
    'ChDir "C:\Users\Utilisateur\Documents\TPKD\Registre facture 2014-2015 TPKD\FACTURE 14-0111_Wolseley Canada).xlsx"
 
    'Classeur = Dir("C:\Users\Utilisateur\Documents\TPKD\Registre facture 2014-2015 TPKD\" & montableau(0))
    Classeur = Dir(Chemin & "\" & montableau(0))

Do While Len(Classeur) > 0
     
    Workbooks.Open Chemin & "\" & Classeur
   
    Range("T7").Select
    Selection.Copy
    Range("AB7").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Range("S4").Select
    Selection.Copy
    Range("AC7").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Range("C10").Select
    Selection.Copy
    Range("AD7").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Range("C9").Select
    Selection.Copy
    Range("AE7").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Range("P16").Select
    Selection.Copy
    Range("AF7").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Range("E9").Select
    Selection.Copy
    Range("AG7").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Range("P10").Select
    Selection.Copy
    Range("AH7").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Range("P11").Select
    Selection.Copy
    Range("AI7").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Range("P13").Select
    Selection.Copy
    Range("AJ7").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Range("AB7:AJ7").Select
    Selection.Copy
           
    Windows("A_Reg_Fact_2014-2015.xlsm").Activate

    Range("B65000").End(xlUp).Offset(1, 0).Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
   
    fichier = Dir()
 
  Application.ScreenUpdating = True
   
    If Windows.Count > 1 Then Windows(2).Activate
   
    ActiveWorkbook.Close savechanges:=True
  Classeur = Dir(Chemin & "\" & montableau(x + 1))
    x = x + 1
Loop

End Sub


Sub liste()

'Déclaration des variables
Dim fso As New FileSystemObject
Dim Dos As Folder ' Dossier

Dim Fi As File ' Fichier
Dim x As Integer
'-------------------------------------------------------------
'Instanciation du chemin
Application.FileDialog(msoFileDialogFolderPicker).Show
Chemin = Application.FileDialog(msoFileDialogFolderPicker).SelectedItems(1)

'-------------------------------------------------------------
'Instancier l'object Dos des propriétés de notre dossier choisi
Set Dos = fso.GetFolder(Chemin)
'-------------------------------------------------------------
'Boucler sur le dossier
For Each Fi In Dos.Files
'Ajouter les fichiers dans le menu déroulant
montableau(x) = Fi.Name
x = x + 1
Next
End Sub

Attention il faut mettre la reference microsoft scripting runtime dans outils VBA
A+


_________________
Avatar


Bienvenue sur

Dans votre message d'origine cliquer sur le bouton

Tout en bas sur Modifier le titre du sujet cliquer sur le bouton : Résolu !!!
Changer l’icône du sujet par le bouton

Tout simplement.


Merci pour votre présence ou passage sur le site de programmer-en-vb

Celui qui croit tout connaitre, ne connait sans doute pas grand chose,chacun apporte son savoir, mais on a tous tout à apprendre ....  

study

avatar
danpom302
Step_Three_VBA
Step_Three_VBA

Localisation : Québec
Messages : 387
Date d'inscription : 23/09/2013
Age : 66

Résolu Re: Extraire des données de plusieurs factures

Message par danpom302 le Sam 9 Juil - 4:37

Bonsoir adminPVB,

Merci pour le code, je l'essai demain. J'ai été en mesure de repousser l'échéance de ce projet.

Je te reviens demain.

Merci,

Dan
avatar
danpom302
Step_Three_VBA
Step_Three_VBA

Localisation : Québec
Messages : 387
Date d'inscription : 23/09/2013
Age : 66

Résolu Re: Extraire des données de plusieurs factures

Message par danpom302 le Sam 9 Juil - 16:59

Bonjour adminPVB,

Ton dernier code fonctionne très bien. J'ai été en mesure de récupérer les informations requises pour un amie.

Merci encore une fois,

Dan

Contenu sponsorisé

Résolu Re: Extraire des données de plusieurs factures

Message par Contenu sponsorisé


    La date/heure actuelle est Sam 18 Nov - 7:39