Bonjour à tous,
Je viens de trouver un nouveau travail en Allemagne et je dois utiliser massivement les macros VBA afin de trouver de nouvelles méthodes pour améliorer le fonctionnement des données, la sécurisation des données ainsi que optimiser les fichiers afin de générer des gains de temps pour les salariés.
J´ai par conséquent 2 nouveaux problèmes que je viens de rencontrer et que je suis dans l´incapacité de résoudre à l´heure actuelle. Comme j´ai appris les macros tout seul en pratiquant le langage VBA, je ne connais pas l´ensemble des expressions relatives à celles-ci. Et par conséquent, je sais que je ne suis encore qu´un Padawan en formation.
• L´une des nouvelles missions que l´on m´a confié est de comprendre et d´améliorer les fichiers d´une autre personne qui a quitté le département mais qui n´a pas eu le temps de renseigner les procédures ou le mode de fonctionnement de ces programmes.
J´ai compris l´essentiel des codes de ses macro, mais il y a une expression récurrente qui revient et que je ne suis pas sûr de comprendre.
----------------------------------------------------------------------------------------------------------------------
Sub Einzelblatt()
Sheets("Einzelblatt").Select
Selection.AutoFilter Field:=1, Criteria1:="<>"
Rows("3:3").Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Copy
Sheets("Einzelblatt_DB").Select
Columns("A:A").Select
Selection.Find(What:="", After:=ActiveCell, LookIn:=xlFormulas, LookAt _
:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _
False, SearchFormat:=False).Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets("Einzelblatt").Select
ActiveSheet.ShowAllData
Sheets("Erfassung").Select
End Sub
----------------------------------------------------------------------------------------------------------------------
Je ne sais pas si cette expression a été utilisé afin de permettre la recherche des données pour le copiage des données par le biais de la macro, ou pour régler le problème récurrent venant de l´utilisation du « select » qui a été pour le coup massivement utilisé.
• L´autre problème vient d´une volonté d´automatiser au maximum l´extraction des données en provenance de Business Object, mais j´ai un problème car si je suis capable de l´ouvrir, le programme refuse de se faire sélectionner et la macro me renvoie sur Excel, alors que je voudrais qu´il me dise de sélectionner l´application et de faire ensuite la recherche du fichier.
----------------------------------------------------------------------------------------------------------------------
Sub Extraction ()
' Permet l´ouverture de Businessobjects et l´extraction ultérieure d´une partie des données
If NumLock = False Then NumLock = True 'Juste un contrôle de vérification, pour permettre la saisie des données du mot de passe en évitant les erreurs.
Shell ("C:\Program Files (x86)\Business Objects\BusinessObjects Enterprise 12.0\win32_x86\busobj.exe") ‘Lancement de l´application
SendKeys ("ouverture1") ' Entrée du mot de passe
SendKeys "{Enter}" 'validation mot de passe
' Ici l´Application s´ouvre correctement, mais on revient ensuite sur Excel alors que je voudrais au contraire qu´on reste sur l´application et que ensuite il fasse l´ouverture du fichier suivant.
Application.Dialogs(xlDialogOpen).Show ("\\f-oukh\home2$\id01424\MyDocs\My Business Objects Documents\userDocs\CVR_Modell_N.rep")'
Cela devrait ressembler à cela en théorie, mais ce n´est pas le cas, car la boite de dialogue s´ouvre sur Excel alors que je voudrais qu´elle s´ouvre sur Business Object puis sélectionne la bonne base de données, l´ouvre puis régénère les données de la calculation en fonction de filtre préétablis
End Sub
----------------------------------------------------------------------------------------------------------------------
Est-ce quelqu´un aurait des idées ou des pistes de réflexion pour résoudre cette situation ?
L´extraction des données prend énormément de temps dans notre activité quotidienne, et je pense qu´une amélioration substantielle de notre rendement pourrait découler de ce travail, si bien sur je peux le mener jusqu´à son achèvement.
Je vous remercie d´avance de l´aide que vous pourrez m´apporter sur ce sujet. En cas de besoin, je peux fragmenter cette demande sur sujets du forum.
Je viens de trouver un nouveau travail en Allemagne et je dois utiliser massivement les macros VBA afin de trouver de nouvelles méthodes pour améliorer le fonctionnement des données, la sécurisation des données ainsi que optimiser les fichiers afin de générer des gains de temps pour les salariés.
J´ai par conséquent 2 nouveaux problèmes que je viens de rencontrer et que je suis dans l´incapacité de résoudre à l´heure actuelle. Comme j´ai appris les macros tout seul en pratiquant le langage VBA, je ne connais pas l´ensemble des expressions relatives à celles-ci. Et par conséquent, je sais que je ne suis encore qu´un Padawan en formation.
• L´une des nouvelles missions que l´on m´a confié est de comprendre et d´améliorer les fichiers d´une autre personne qui a quitté le département mais qui n´a pas eu le temps de renseigner les procédures ou le mode de fonctionnement de ces programmes.
J´ai compris l´essentiel des codes de ses macro, mais il y a une expression récurrente qui revient et que je ne suis pas sûr de comprendre.
----------------------------------------------------------------------------------------------------------------------
Sub Einzelblatt()
Sheets("Einzelblatt").Select
Selection.AutoFilter Field:=1, Criteria1:="<>"
Rows("3:3").Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Copy
Sheets("Einzelblatt_DB").Select
Columns("A:A").Select
Selection.Find(What:="", After:=ActiveCell, LookIn:=xlFormulas, LookAt _
:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _
False, SearchFormat:=False).Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets("Einzelblatt").Select
ActiveSheet.ShowAllData
Sheets("Erfassung").Select
End Sub
----------------------------------------------------------------------------------------------------------------------
Je ne sais pas si cette expression a été utilisé afin de permettre la recherche des données pour le copiage des données par le biais de la macro, ou pour régler le problème récurrent venant de l´utilisation du « select » qui a été pour le coup massivement utilisé.
• L´autre problème vient d´une volonté d´automatiser au maximum l´extraction des données en provenance de Business Object, mais j´ai un problème car si je suis capable de l´ouvrir, le programme refuse de se faire sélectionner et la macro me renvoie sur Excel, alors que je voudrais qu´il me dise de sélectionner l´application et de faire ensuite la recherche du fichier.
----------------------------------------------------------------------------------------------------------------------
Sub Extraction ()
' Permet l´ouverture de Businessobjects et l´extraction ultérieure d´une partie des données
If NumLock = False Then NumLock = True 'Juste un contrôle de vérification, pour permettre la saisie des données du mot de passe en évitant les erreurs.
Shell ("C:\Program Files (x86)\Business Objects\BusinessObjects Enterprise 12.0\win32_x86\busobj.exe") ‘Lancement de l´application
SendKeys ("ouverture1") ' Entrée du mot de passe
SendKeys "{Enter}" 'validation mot de passe
' Ici l´Application s´ouvre correctement, mais on revient ensuite sur Excel alors que je voudrais au contraire qu´on reste sur l´application et que ensuite il fasse l´ouverture du fichier suivant.
Application.Dialogs(xlDialogOpen).Show ("\\f-oukh\home2$\id01424\MyDocs\My Business Objects Documents\userDocs\CVR_Modell_N.rep")'
Cela devrait ressembler à cela en théorie, mais ce n´est pas le cas, car la boite de dialogue s´ouvre sur Excel alors que je voudrais qu´elle s´ouvre sur Business Object puis sélectionne la bonne base de données, l´ouvre puis régénère les données de la calculation en fonction de filtre préétablis
End Sub
----------------------------------------------------------------------------------------------------------------------
Est-ce quelqu´un aurait des idées ou des pistes de réflexion pour résoudre cette situation ?
L´extraction des données prend énormément de temps dans notre activité quotidienne, et je pense qu´une amélioration substantielle de notre rendement pourrait découler de ce travail, si bien sur je peux le mener jusqu´à son achèvement.
Je vous remercie d´avance de l´aide que vous pourrez m´apporter sur ce sujet. En cas de besoin, je peux fragmenter cette demande sur sujets du forum.