Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Visio
Visio Forum d'entraide sur Microsoft Office Visio (schémas et diagrammes)
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 08/06/2008, 14h35   #1
Invité de passage
 
Inscription : mai 2008
Messages : 7
Détails du profil
Informations forums :
Inscription : mai 2008
Messages : 7
Points : 1
Points : 1
Par défaut Comment importer champs au format date dans visio

Bonjour

J'arrive bien a importer des données dans visio a partir d'excel, mais je n'arrive pas a trouver la facon d'importer des dates jj/mm/aaaa au format date.

Ensuite dans les rapports je bloque car je voudrais faire des requetes sur l'année et bien entendu cela ne fonctionne pas

Il y a bien la possibilité de séparer sous xls, l'année en en faisant un champ spécifique mais cela est moyen...

Merci
supdeco1 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/06/2008, 09h21   #2
Membre habitué
 
Étudiant
Inscription : mai 2008
Messages : 130
Détails du profil
Informations personnelles :
Âge : 26

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : mai 2008
Messages : 130
Points : 146
Points : 146
Bonjour
si tu utilise VBA pour importer tes données tu peut essayer

Code :
date_m = Format(date_m, "dd-MM-yyyy")
pour mettre dans le format que tu veut

Mais tu peut préciser comment tu importe tes données ( Programme VBA, Basse de données, Module Visio,..)
nicolas_151 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/06/2008, 17h45   #3
Invité de passage
 
Inscription : mai 2008
Messages : 7
Détails du profil
Informations forums :
Inscription : mai 2008
Messages : 7
Points : 1
Points : 1
Merci, je vais tester

J'utilise le module complémentaire, d'importation des données.


J'ai cherché ce week end et j'ai trouvé une solution (un peu bizarre mais bon)

Prendre une icone (ex icone de pc), lui enlever l'ensemble des propriétés prédéfinies, l'ajouter aux favoris, et mettre à jour l'icone dans son gabarit (on obtient une icone personnalisée vierge)


faire une importation d'une seule ligne excel pour cette icone de pc, (pour avoir les champs du fichier excel pour un enregistrement) Remarque, les champs importés sont triés par la première lettre de la propriété
(en cas de besoin de modification d'ordre, il faut passer en mode développeur et attribuer un numéro d'ordre d'affichage à chaque propriété)

modifier les propriétés des champs locaux importés qui sont (et c'etait mon probleme en format texte (on obtient un objet avec les propriétés sous la forme voulue: format date pour certains champs)


Ensuite, définir cette icone/modele local comme modele global

Enfin, utiliser ce modèle global et l'attribuer à la forme pc, puis importer l'ensemble des champs du fichier excel par le module complémentaire

J'ai déjà vu plus simple...

C'est dommage que la communauté VISIO soit peu importante sur internet, et que microsoft n'ait pas mis les fonctions pourtant logiques dans ce super logiciel...

Avec quelques améliorations simples, cela en ferait le meilleur logiciel de suivi d'inventaires statique, par rapport aux usines à gaz du marché...
supdeco1 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/06/2008, 11h09   #4
Membre habitué
 
Étudiant
Inscription : mai 2008
Messages : 130
Détails du profil
Informations personnelles :
Âge : 26

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : mai 2008
Messages : 130
Points : 146
Points : 146
Eh ben
Si j’ai bien compris tu créer une forme de gabarit vierge que tu initialise avec les données Excel, pour avoir un modèle.
Mais ton problème de format texte, je vois pas ??
Car tu peut toujours changer ton format dans la Shapesheet, Non !

Tu peut essayer aussi de mettre ton format date dans la shapesheet
="{{dd- MM -yyyy}}"

Mais en VBA se format n’est pas pris en compte quand on enregistre une valeur dans la cellule
Je ne sais pas pour le module importation de base de données (a voir)

Sinon, le faite de modifier le format des cellules de Excel permet peut être s d’avoir directement le type de données voulu dans Visio ?

Si tu développe sur Visio je te conseille d’installer le SDK si se n’est pas fait
Dans google tu met SDK Visio
C’est un logiciel d’aide de développement sur Visio très utile pour avoir les syntaxes pour VBA ou la sapesheet

Visio a des capacités insoupçonnés met reste limite dans les domaines dynamique

Bonne continuation
nicolas_151 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/06/2008, 12h01   #5
Invité de passage
 
Inscription : mai 2008
Messages : 7
Détails du profil
Informations forums :
Inscription : mai 2008
Messages : 7
Points : 1
Points : 1
Bonjour

Le problème de l'importation des données excel par le module complémentaire c'est que le module, quelquesoit le format de la cellule du fichier excel (texte, date ou autre) l'importe uniquement comme une donnée texte

Dans visio, si on fait cette importation pour de nombreuses valeurs (exparc informatique de 450 Pc) il faut repasser sur les 450 et modifier les X champs dans le bon format... c'est un peu long...
supdeco1 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/06/2008, 15h24   #6
Membre habitué
 
Étudiant
Inscription : mai 2008
Messages : 130
Détails du profil
Informations personnelles :
Âge : 26

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : mai 2008
Messages : 130
Points : 146
Points : 146
Ok je comprend mieux maintenant

voici un bout de code pour éviter de tous retaper dans tes formats
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Dim all_shape As Visio.Shape
Dim shape_Pc As Visio.Shape
 
'récupération de tous les objets de la page
Set all_shape = ThisDocument.Application.ActivePage.Shapes
'parcour des objets
For Each shape_Pc In all_shape
'si l'objet a une parti du nom qui est = PC
 If InStr(shape_Pc, "PC") Then
    'Changer la cellule de format
    shape_Pc.Cells("Prop.p1.Format").Result(0) = "{{dd- MM -yyyy}}" ' format date
    shape_Pc.Cells("Prop.p2.Format").Result(0) = "0"                ' format nombre
‘……
 
  End If
Next
ce bout de programme va scruter les shapes et des qu'il trouve un objet Pc il change le format de ses cellules.

c'est une solution parmi d'autre

tu peut aussi trouver un moyen en fonction de tes exploitation de tes données.
Normalement tu peut préciser le type de données dans l’assistant base de données du module complémentaire : CURRENCY , DATETIME, NUMBER, VARCHAR, LOGICAL
nicolas_151 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 02h12.


 
 
 
 
Partenaires

Hébergement Web