begin process at 2012 02 16 12:42:06
  Trouver un code source :
 
dans
 
Accueil > Forum > 

VB.NET et VB 2005

 > 

Divers

 > 

Débutants

 > 

Macro-Excel-VB


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Macro-Excel-VB

vendredi 30 juin 2006 à 12:35:36 | Macro-Excel-VB

reggenzi

Bonjour,
j'ai un problème avec excel, j'ai un fichier excel A dont le contenu de cellules équivaut au contenu des autres cellules située dans un autre fichier B, là ça va, pas besoin de macro. Le problème est que maintenant j'ai plusieurs fichiers B, dépendants des dates, les noms des fichiers deviennent donc B_date1, B_date2, B_date3,.....Ce que je voudrais c'est que quand j'ouvre le fichier A, il y ait une fenetre qui se déclenche me demandant la date, et ,en cliquant OK, le fichier A ira chercher les cellules et feuilles de B_"date indiquée".
Merci d'avance

vendredi 30 juin 2006 à 15:14:26 | Re : Macro-Excel-VB

cameleon044

Bonjour,
dans le Workbook_open() de ton classeur A tu insert  quelque chose du genre
var_date = InputBox("Veuillez saisir la date du jour")
    Workbooks.Open Filename:= _
        "adresse_de_ton_fichier\B_" & var_date

a+
samedi 1 juillet 2006 à 14:21:56 | Re : Macro-Excel-VB

mortalino

Membre Club
Salut, Je me permet, cameleon044, de préciser, afin d'éviter les erreurs de saisie, qu'il vaut mieux utiliser le contrôle "Date and Time Picker" (DTPicker). C'est un composant à rajouter (click droit sur fenêtre des contrôles VBA). Du coup, Dim var_date as Date var_date = DTPicker1.Value et la suite du code de Cameleon044 convient très bien. @++ --Mortalino-- Le Mystérieux Chevalier "Provençal, le Gaulois" N'oubliez pas de lire le règlement !
lundi 3 juillet 2006 à 15:47:31 | Re : Macro-Excel-VB

reggenzi

Bonjour,
marci beaucoup, j'arrive à ouvrir les fichiers avec votre code. J'ai préferé garder les dates en format Chaine (String), le code que j'ai utilisé est donc:

Private Sub Workbook_Open()
Dim var_date As String
var_date = InputBox("Veuillez saisir la date du Tableau de Bord sous format AAAA_MM")
    Workbooks.Open Filename:= _
        "
\\Server4\DATA1\REVUES-PRJ-INGENIERIE\0-Tableaux_de_bord\TdB-Project_status_report_" & var_date

End Sub

, par contre mes formules ne changent pas en fonction de la date indiquée. Je m'explique, par exemple, j'ai dans une cellule donnée du premier fichier, la formule suivante:
 ='\\Server4\DATA1\REVUES-PRJ-INGENIERIE\0-Tableaux_de_bord\[TdB-Project_status_report_2006_04.xls]1089-Case de Train Freighter'!$D$23/1000

où en bleu j'ai le chemin, en rose j'ai le nom du fichier, après j'ai le nom de la feuille se trouvant dans le fichier et à la fin j'ai la cellule concernée.
Ce que j'aimerai pouvoir faire est de rendre le 2006_04, du nom du fichier, variable. Est ce que il y aurai un moyen de stocker la variable var_date et l'insérer automatiquement dans ma formule? C'est à dire une expression "EXPR" telle que ma formule soit:

 ='\\Server4\DATA1\REVUES-PRJ-INGENIERIE\0-Tableaux_de_bord\[TdB-Project_status_report_"EXPR".xls]1089-Case de Train Freighter'!$D$23/1000.

Merci d'avance

Reggenzi

mardi 4 juillet 2006 à 20:01:18 | Re : Macro-Excel-VB

cameleon044

Bonjour
il faut simplement que tu place tes formules excel dans les cellules avec vb. exemple :

Private Sub Workbook_Open()
Dim var_date As String
var_date = InputBox("Veuillez saisir la date du Tableau de Bord sous format AAAA_MM")
    Workbooks.Open Filename:= _
        "\\Server4\DATA1\REVUES-PRJ-INGENIERIE\0-Tableaux_de_bord\TdB-Project_status_report_" & var_date
       
'on insert une formule dans une cellule
Range("A1").FormulaLocal = "='\\Server4\DATA1\REVUES-PRJ-INGENIERIE\0-Tableaux_de_bord\[TdB-Project_status_report_" & var_date & ".xls]1089-Case de Train Freighter'!$D$23/1000"

End Sub

Cordialement
mardi 4 juillet 2006 à 22:54:36 | Re : Macro-Excel-VB

mortalino

Membre Club
En tant qu'utilisateur, si je tape 2/06 ? Bah une erreur survient. Pareil si je tape pleins de trucs qui n'est pas en rapport avec la date. Bref, c'est ce que je vous disais, => DTPicker : ça prend 20 sec. pour le référencer, 3 sec. pour le placer, et 1 à 3 min. suivant ton code pour remplacer tes lignes de codes. Avantage : pas d'erreurs lors du choix utilisateur. Avantage 2, le retour : plus sympa à utiliser (choix date dans une sorte de combo) plutôt que de se taper la saisie... @++ --Mortalino-- Le Mystérieux Chevalier "Provençal, le Gaulois" N'oubliez pas de lire le règlement !
mardi 11 juillet 2006 à 10:44:25 | Re : Macro-Excel-VB

reggenzi

Hi,
merci, même en gardant les dates en type "string", ça a marché, en fait, comme il fallait que le programme trouve un nom de fichier toujours le même à la date près, les caractères en type chaîne sont adaptés. Résultat: tout a marché, pour mon projet en tout cas. Après j'ai inséré un boucle et un Go To pour ne pas avoir une boucle infinie. 
Voici mon code final:

 Private Sub Workbook_Open()

Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual

Dim var_date As String


1   var_date = InputBox("Veuillez saisir la date du Tableau de Bord sous format AAAA_MM" + Chr(13) + "Tapez EXIT, en majiscule, pour sortir")

Dim fs
Set fs = CreateObject("Scripting.FileSystemObject")
If fs.FileExists("\\Server4\DATA1\REVUES-PRJ-INGENIERIE\0-Tableaux_de_bord\TdB-Project_status_report_" & var_date & ".xls") = True Then


 

'Formules à appliquer....
'...
'...
'...
Range("AG24").FormulaLocal = "='\\Server4\DATA1\REVUES-PRJ-INGENIERIE\0-Tableaux_de_bord\[TdB-Project_status_report_" & var_date & ".xls]1371-Nose Fairing Freighter'!$D$23/1000"
'...
'...
'...

 

'Periode....

Dim mois, annee, moistxt, affichage As String
   
mois = Right(var_date, 2)
annee = Left(var_date, 4)

If mois = "01" Then
moistxt = "Janvier"
ElseIf mois = "02" Then
moistxt = "Février"
ElseIf mois = "03" Then
moistxt = "Mars"
ElseIf mois = "04" Then
moistxt = "Avril"
ElseIf mois = "05" Then
moistxt = "Mai"
ElseIf mois = "06" Then
moistxt = "Juin"
ElseIf mois = "07" Then
moistxt = "Juillet"
ElseIf mois = "08" Then
moistxt = "Août"
ElseIf mois = "09" Then
moistxt = "Septembre"
ElseIf mois = "10" Then
moistxt = "Octobre"
ElseIf mois = "11" Then
moistxt = "Novembre"
ElseIf mois = "12" Then
moistxt = "Décembre"
Else
moistxt = "MOIS NON VALIDE!!!"
End If
affichage = moistxt & " " & annee

Range("U3").FormulaLocal = affichage
Else
   If var_date = "EXIT" Then
   GoTo 2
   Else
   reponse = MsgBox("LE TDB DE CE MOIS N'EXISTE PAS ou VOUS AVEZ MAL SAISI LE MOIS" + Chr(13) + "Cliquez OK pour recommencer")
 
   GoTo 1
   End If
End If
Set fs = Nothing
MsgBox ("Fin du traitement, cliquez OK pour voir le résultat")
Application.Calculation = xlCalculationAutomatic
Application.ScreenUpdating = True

2   End Sub


Merci encore à tous pour vos conseils.

Reggenzi



Cette discussion est classée dans : fichier, vb, macro, excel, cellules


Répondre à ce message

Sujets en rapport avec ce message

execution macro Excel via VB [ par GroSam ] Salut! Voila j'aimerais executer une macro perso qui se trouve dans un fichier Excel à partir de VB.. j'essaye d'utiliser application.ExecuteExcel4Ma vb et macro excel [ par jraynald ] est-il possible à partir d'un programme visual basic ouvrir un fichier excel et lancer une macro appartenant à ce fichier? afficher des données entrées sous vb dans un fichier excel [ par f_r ] salut a tousg un fichier excel sur mon bureau qui s intitule: ESSAI VB ET EXCELg crée un projet sou vb dans lequel g un textbox et un boutonlorsque je Ouvrir un fichier excel sans le logiciel avec VB.NET [ par benjetudiant ] Copier une macro, par macro [ par mdenaud ] Bonjour, j'ai une macro qui me créer des fichier Excel et j'aimerais par cette macro copier une autre macro dans chaque fichier excel créé. Ou puis je Graphique VB/Excel [ par fred le novice ] Bonjour a tous. g éssayé d'insérer une macro a un graphique excel lorsque l'on click dessus. Problème: Vb me renvoie:"la méthode 'Range' de l'objet'_G convertir un fichier excel sous vb [ par youlel ] bonjour,je cherche à transformer sous vb un fichier excel en fichier texte afin qu'il soit compatible avec un autre logiciel sous unix qui lit que les export de feuille excel en pdf via les macro ou vb [ par tamera55 ] Comment exporter des feuilles excel au format PDF en automatisant l'export via les macro en vb?MerciTam ouvrir excel sous vb [ par yedewei ] hello ! jai un petit pb javais su ouvrir et ecrire sous excel a partir de vb a lecole  je fais un copier coller de ce script sur mon programme et ca pb excel avec vb [ par yedewei ] hello je reposte le message ici ! javais su ouvrir et ecrire sous excel a partir de vb a mon bts je fais un copier coller de ce script sur mon progr


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,061 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales