Communauté Fb
Follow us on twitter
Les vidéos du site
Le site complément

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 6 utilisateurs en ligne :: 0 Enregistré, 0 Invisible et 6 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 6165 messages dans 693 sujets

Nous avons 566 membres enregistrés

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

Recherche dans les forums

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


Derniers sujets

» Instants musique
par Berly Aujourd'hui à 8:55

» Voir le chemin en entier dans une info-bulle
par Berly Mer 15 Aoû - 11:05

» date, formulaire VBA
par Berly Mar 14 Aoû - 14:18

» Partage d'un jour
par Berly Ven 10 Aoû - 11:46

» Partage d'un soir ....
par Berly Lun 6 Aoû - 8:27

» Outlook ne s'ouvre pas
par danpom302 Dim 8 Juil - 23:16

» Faute de code .....Que décodez vous dans ce film ?
par Berly Dim 24 Juin - 11:35

» Localiser tous les #N/A dans la plage ZONNE
par AdminPVB Sam 16 Juin - 22:37

» Configuration Editeur
par Berly Mer 13 Juin - 22:25

» Des idées .......vous en avez ?
par Berly Mar 12 Juin - 17:19

» Bienvenue à lina.bouda13
par AdminPVB Dim 10 Juin - 22:28

» Manquant:windows common controls 6 (SP6)
par TitiPointCom Sam 9 Juin - 8:47

» Déplacer ligne sélectionnée par Combobox, d'un tableau à un autre
par TitiPointCom Ven 8 Juin - 23:33

» Problème d'affichage de labels
par TitiPointCom Mar 5 Juin - 10:07

» Bienvenue à Alis
par AdminPVB Lun 4 Juin - 20:34

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 

Août 2018

LunMarMerJeuVenSamDim
  12345
6789101112
13141516171819
20212223242526
2728293031  

Calendrier Calendrier

Petit souci d'affichage de valeurs(Tableau) valeurs saisies au clavier

Sam 14 Avr - 21:19 par Berly

Bonsoir a tous  Very Happy.

Voila j'ai un petit souci de méthode .

Je poste le code ,Ne vous souciez pas des zones de commentaire.

A la fin le nombre d éléments du tableau correspond bien au nombres de valeurs saisies par l'utilisateur .

Je ne trouve pas la méthode pour afficher les valeurs .....bon c'est vrai que en ce moment je bricole  Rolling Eyes.

Merci pour vos réponses  Wink.

Code:
[Imports …


[ Lecture complète ]
Traduction D'algorithmes

Mer 7 Mar - 22:28 par Berly

Bonsoir A toutes et Tous .

J'ouvre ce Post en vue d'une éventuelle collaboration de membres désireux de collaborer a l'évolution de tous.

Le but de ce forum ,consisterai a rechercher des Algorithmes en "Pseudo-code", sans restriction de ressources en appliquant le principe du copié collé .(Sans omettre de citer les sources de provenance  Very Happy,Livres ,exercices scolaires Very Happy ,etc.....)

La …

[ Lecture complète ]
SOS traduction

Dim 4 Mar - 9:11 par e.sainturlo

Bonjour à tous,

Je souhaite comprendre ce qui se cache derrière cette longue suite d'instructions imbriquées les unes dans les autres:

numero2 = Conversions.ToInteger(Operators.AddObject(numero2,Operators.ModObject(Operators.MultiplyObject(NewLateBinding.LateIndexGet(MPMP, new object[] {numero1,numero3}, null), Strings.Asc(MCMC.Substring(numero3, 1)) - 65), 26)));

Quelqu'un saurait-il …

[ Lecture complète ]
Et si on parlait des fichiers.txt et fichiers.csv

Ven 2 Fév - 20:51 par Berly

Bonsoir le forum  Very Happy

Je viens vers vous pour étudier en vbnet les fichiers.

Actuellement j'étudie dans une autre langage ces fichiers.



https://fr.wikipedia.org/wiki/Comma-separated_values.


Ces bases de données sont intéressantes a exploiter ,pour diverses applications dans la vie de tous les jours.


1° Création de fichiers avec extension ou pas.Y a t'il une bibliothèque native en …

[ Lecture complète ]
VB 2005 express

Mar 6 Fév - 17:02 par christian80.1951

Bonjours a tous,
J'utilise vb 2005 express.
dans la form1.vb[design] je créer une listebox .
Lorsque je veux la positionner dans cette form , lors de son déplacement avec la souris ma listbox devient invisible,
ce qui rend son positionnement mal-aisé.
Ce phénomène se produit aléatoirement ! ( certainement une mauvaise manip ) et cet état persiste dans le projet.
J'espère être compréhensible.


[ Lecture complète ]
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 ]

ASTUCES UTILES

Partagez
avatar
IFFIC
Step_Three_VBA
Step_Three_VBA

Localisation : Sud Breizh ar mor
Messages : 398
Date d'inscription : 25/05/2013
Age : 67

ASTUCES UTILES

Message par IFFIC le Dim 1 Avr - 16:21

Bonjour à tous, ou Bonsoir si c'est à la lueur des chandelles,

Etant un peu dans le désordre sur l'une de mes applis, j'ai rédigé ce code pour voir où j'en étais.
Il y avait notamment une image dans un Frame qui était dans un autre qui avait une ListBox où
je ne trouvais plus un Label car pas visible et caché derrière un deuxième Frame avec une image en premier plan!!!

Il m'est même toujours impossible de retrouver une des images existante en parcourant mon projet. Embarassed


Voici donc une astuce en créant un bouton dans l'Usf à fouiller:
Code à copier pour ce dernier, en adaptant son nom, comme il est évident:
(A noter que l'on peut aussi récupérer les caractéristiques de polices, les couleurs, et tout et tout …)

Code:
Private Sub CommandButton5_Click() 'Ici, c'était le "5" pour moi, mais chez vous il pourra avoir un autre numéro...
Dim TRUCS As Control
N = 1 'Pour écrire sur la deuxième ligne et garder l'entête
Sheets.Add ' Comme il est dit
With ActiveSheet
.Name = "RECAP_CONTROLES"
.Cells(1, 1).Value = "CONTENEUR"
.Cells(1, 2).Value = "NOM"
.Cells(1, 3).Value = "CAPTION"
.Cells(1, 4).Value = "TAG"
.Cells(1, 5).Value = "VALUE"
.Cells(1, 6).Value = "GAUCHE"
.Cells(1, 7).Value = "HAUT"
.Cells(1, 8).Value = "LARGEUR"
.Cells(1, 9).Value = "HAUTEUR"
.Cells(1, 10).Value = "VISIBLE"

For Each TRUCS In Me.Controls
On Error Resume Next 'Car si un élément n'est pas captable comme "Value, il y aurait un plantage.
N = N + 1
.Cells(N, 1).Value = TRUCS.Parent.Name
.Cells(N, 2).Value = TRUCS.Name
.Cells(N, 3).Value = TRUCS.Caption
.Cells(N, 4).Value = TRUCS.Tag
.Cells(N, 5).Value = TRUCS.Value
.Cells(N, 6).Value = TRUCS.Left
.Cells(N, 7).Value = TRUCS.Top
.Cells(N, 8).Value = TRUCS.Width
.Cells(N, 9).Value = TRUCS.Height
.Cells(N, 10).Value = TRUCS.Visible
Next
.Columns.AutoFit 'Pour rendre tout visible
End With
End Sub

Je ne sais si vous, mais moi, cela m'a bien aidé.
Yves
avatar
AdminPVB
Admin
Admin

Localisation : France Nord 59
Messages : 2051
Date d'inscription : 24/05/2013
Age : 42

Re: ASTUCES UTILES

Message par AdminPVB le Dim 1 Avr - 18:46

Salut Yves, affraid
Alors tu ne te retrouves plus dans ton bord...d'ailes
Merci pour cette exemple de code qui je pense sera fort utile, non seulement pour trouver un contrôle,mais aussi pour avoir une synthèse d'application.
A bientôt. Very Happy


_________________
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
IFFIC
Step_Three_VBA
Step_Three_VBA

Localisation : Sud Breizh ar mor
Messages : 398
Date d'inscription : 25/05/2013
Age : 67

Re: ASTUCES UTILES

Message par IFFIC le Dim 1 Avr - 23:52

Merci Fred d'avoir regardé,
Il est vrai que mon appli en cours devient complexe!
A tel point que j'ai eu un bug avec comme message de Bill: "Erreur non répertoriée"!
Depuis le grand nombre d'années que je pratique le vba, je n'avais jamais vu cela.
De plus en acceptant le débogage, j'étais viré de mon appli… What a Face


J'ai lu et relu mon code: Rien d'anormal, mais impossible de me défaire de ce plantage.
J'ai donc tout effacé, et reconstruit à zéro. confused
Je sais fouiller dans un projet, mais aujourd'hui, je suis obligé de paramétrer par macro la position d'une image,
car elle n'apparait nulle part dans les propriétés du VBAProject. => (Repositionnement manuel impossible)

Voilà ce pourquoi j'ai pondu cette bidouille ci-dessus.
Amicalement, et au plaisir,
Yves
avatar
grisan29
Modérateur
Modérateur

Localisation : BRETAGNE Nord 29
Messages : 831
Date d'inscription : 25/07/2013
Age : 55

Re: ASTUCES UTILES

Message par grisan29 le Dim 8 Avr - 19:05

Bonjour Iffic, AdminPVB

IFFIC très beau code et rapide en excécution
la seule chose est que si un contrôle est "enable" il est toujours marqué "visible "dans la colonne


_________________
Pascal
http://vbaddict.altervista.org/Fichier_upload/grisan29/13.php

Comment mettre votre sujet en 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 !!!

avatar
IFFIC
Step_Three_VBA
Step_Three_VBA

Localisation : Sud Breizh ar mor
Messages : 398
Date d'inscription : 25/05/2013
Age : 67

Re: ASTUCES UTILES

Message par IFFIC le Lun 9 Avr - 18:01

Bonjour Pascal, ou Bonsoir suivant le fuseau horaire de Plouescat ou du Camping "Ar Kleguer" de Saint-Pol-de-Léon et celui de la ria d'Etel qui est le mien.

Que le contrôle soit "Enabled" (Activé) ou "Disabled" (Inactivé), je ne vois pas pourquoi cela aurait une incidence quant au fait qu'il soit reconnu visible ou non.
A noter que lorsque l'on ajoute un Contrôle, il est toujours forfaitairement "Enabled"
Aussi que suivant ce que l'on utilise, la traduction systématique du système va dire "Vrai ou True, comme Faux et False" (C'est souvent le bordel quand on l'écrit sur une feuille!)
Pour le reste, ce petit code n'était qu'indicatif, car chacun pourra jouer avec, et le mettre à sa sauce.

J'avais seulement besoin de connaître le "Parent" de ceux que j'avais créés, car il m'était impossible de les retrouver,
car cachés derrière une foultitude de trucs, où trop petits, ou issus d'une création dynamique que j'avais oublié dans mes procédures.
' ***********************************************************
Dans ce cadre de la gestion d'un USF, je vais rédiger une autre bidouille qui sera du genre:
1) Dans un Dossier, il y aura le "FRM" avec son "FRX" d'un Usf que j'aurai construit avec le nom "ATELIER"
2) Un bouton ajouté dans une feuille de votre projet va automatiquement importer ATELIER.

ATELIER offrira ceci:
- Le choix de l'Usf à traiter (En le rendant non modal pour pouvoir y toucher)
- La  mise en module de classe de tous ses contrôles.

Dans la liste de ceux-ci qui en sera faite, par un click on choisira celui que l'on veut
Avec des "SpinButtons" on pourra changer leur position et leur taille.
Avec des " OptionButtons" on pourra modifier les apparences, et autres caractéristiques

Par la suite, on imprime tous les éléments, et manuellement, on pourra venir peaufiner son Usf en lisant une feuille de papier,
car dans tous les cas, rien ne sera enregistré dans l'application en cours.
(Sauf à supprimer si besoin l'Usf "ATELIER" du VBAProject)

A plus tard, et à suivre quand j'en trouverai le temps, et que si cela intéresse quelqu'un
Yves
avatar
IFFIC
Step_Three_VBA
Step_Three_VBA

Localisation : Sud Breizh ar mor
Messages : 398
Date d'inscription : 25/05/2013
Age : 67

Re: ASTUCES UTILES

Message par IFFIC le Ven 20 Avr - 16:22

Bonjour ou bonsoir suivant que vous soyez dans la fournaise de la journée sunny , ou la fraîcheur du soir santa,
Pour faire suite à ma rédaction de la liste des contrôles d'un Usf ci-avant, je vous livre ceci:

Comme j'ai pour habitude de les créer de façon dynamique
(Ce qui est confortable quand il y besoin d'une foultitude, et qui de surcroît permet de gérer rapidement la mise en place sans passer grand temps dans le VBAPoject)

Mais, dans une appli complexe, cela déborde souvent la mémoire de l'ancien qui finit par avoir du mal à s'y retrouver…. Embarassed

Alors, j'ai écrit ce tout petit bout de code qui m'est bien utile pour me remémorer les noms, et les emplacements.
 + Les tags, car je m'en sers souvent. Mais n'étant pas visibles, il n'est pas facile d'en vérifier le contenu.
Ex: Un label à une Caption avec une date au format lisible, mais son Tag aura la valeur numérique qui seule va être exploitable dans un tri chronologique.

Ici, j'ai mis le "Label1", mais ce code est attribuable à n'importe quel contrôle, voir même le "Clic Usf"

Code:
Private Sub Label1_Click()
Dim MACHINS As Control
For Each MACHINS In Me.Controls
MACHINS.ControlTipText = MACHINS.Name _
& "  (Gauche = " & MACHINS.Left _
& " Haut = " & MACHINS.Top _
& "  Tag = " & MACHINS.Tag _
& ")"
Next
End Sub


Après, la souris vous dira tout, même plus, si vous le voulez....

Amicalement et pour le partage, au cas où cela puisse être utile à quelqu'un,
Yves
avatar
AdminPVB
Admin
Admin

Localisation : France Nord 59
Messages : 2051
Date d'inscription : 24/05/2013
Age : 42

Re: ASTUCES UTILES

Message par AdminPVB le Dim 22 Avr - 20:51

Bonsoir,
merci Yves pour les astuces que tu proposes, je suis certain que cela puisse servir à beaucoup de praticiens du VBA.
Je pense que tes messages 6 et 7 sont passé en doublon.
Il n'y a pas foule sur le forum et j'en suis un des premiers désolé.
j'ai accès aux visites et elles sont nombreuses, il y a dans le monde du VBA beaucoup plus de curiosité que d'intéresser.
Soit on continue come cela ,ou soit on se décourage.
A chacun de choisir.
Moi j'ai choisi de continuer et chaque jour j'apprend quelque chose d’intéressant.
A bientôt. Very Happy


_________________
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
Berly
Step_Three_VBA
Step_Three_VBA

Localisation : Rodez(Aveyron)
Messages : 507
Date d'inscription : 23/04/2017
Age : 54

Re: ASTUCES UTILES

Message par Berly le Dim 22 Avr - 21:28

Bonsoir les Amis ,mieux vaut en avoir 3 ou 4 que 50  Wink.

Merci Yves pour tes partages   Very Happy.

Comme tu le dis je ne rend pas mes devoirs ...... affraid.

Une chose est certaines ,ce n'est pas parce que je ne rends pas mes devoirs que les leçons ne sont pas apprises  Laughing Laughing Laughing et mises en oeuvre   Wink.

Grace a vous l'air de rien ,je progresse dans mon coin ,mais toujours présent sur le forum .....je ne suis pas encore un fantôme ,ça viendra mais le plus tard possible j'espère  Laughing Laughing Laughing.

Et pour être en accord avec Fred (Lire la citation ci dessous)  Very Happy

"Celui qui ne progresse pas chaque jour ,recule chaque jour " Confucius


A+  Wink
avatar
IFFIC
Step_Three_VBA
Step_Three_VBA

Localisation : Sud Breizh ar mor
Messages : 398
Date d'inscription : 25/05/2013
Age : 67

Re: ASTUCES UTILES

Message par IFFIC le Lun 23 Avr - 16:05

Bonjour Fred, ou Bonsoir si décalage horaire entre l'ouest et le vachement au nord,
Bonjour Thierry ou Bonsoir si les cigales ont fini de froisser leurs ailes.

Ne parvenant pas à supprimer mon message n°7, je te laisse le faire, car il n'a pas lieu d'être.
Quant à la foule, je préfère la qualité à la quantité. (Un peu comme le Whisky) drunken

Sur d'autres forums, il y a encore  des gens qui s'énervent à faire clignoter des cellules pour frimer auprès de leurs collègues de bureau,
ou afficher des fromages avec des portions qui ne servent à rien et qui puent la suffisance.


Je ne parlerai pas des codes à la mords-moi-le-nœud avec "wtrfedmchff" issus des aides Microsoft pour paraître comme un mec qui touche sa bille.
Ils devraient se mettre à la pétanque, car les boules sont plus grosses! Basketball


" Soit on continue comme cela, ou soit on se décourage" dit-tu.
Pour y répondre je citerai Jean de La Fontaine dans sa fable "Le Lion et le Rat".
"Patience et longueur de temps font plus que force ni que rage."

Tout vient à point à qui sait attendre" Issu de "Omnibus ora certa est et tempus suum cuilibet caepto sub caelis"

Comme disait mon Pâpâ: "On n'est jamais si bien servi que par soi-même" (Sic)

Tu dis:
"Moi j'ai choisi de continuer et chaque jour j'apprends quelque chose d’intéressant"
Lis ma signature, et tu verras combien nous sommes d'accord. Very Happy Very Happy Very Happy


A ces mots, je joins mon amitié,
Yves
avatar
jmcr
Step_Two_VBA
Step_Two_VBA

Messages : 111
Date d'inscription : 13/08/2017

Re: ASTUCES UTILES

Message par jmcr le Lun 23 Avr - 21:47

bonsoir mes amis 
voila mes ennuies finis j'ai repris ma connexion internet erreur d'un fournisseur stupide 
je veux bien reprendre mes cours a vos coté si enfin vous voulais bien m'apprendre le vb a partir du début 
je dis bien du début  je viendrais tout les soirs  sur le forum pour ma leçons 
avec tout mes remercîments et tout mes respects
avatar
Berly
Step_Three_VBA
Step_Three_VBA

Localisation : Rodez(Aveyron)
Messages : 507
Date d'inscription : 23/04/2017
Age : 54

Re: ASTUCES UTILES

Message par Berly le Mar 24 Avr - 18:20

Bonsoir Jean Michel  Very Happy.

Suite a ta demande je t'ai préparé quelque chose  Wink.

http://programmer-en-vb.forumactif.org/t689-debuter-en-vba#5920


A+
avatar
TitiPointCom

Localisation : Alsace
Messages : 40
Date d'inscription : 01/01/2018

Demande d'aide

Message par TitiPointCom le Lun 30 Avr - 18:50

Bonjour,
je suis nul en vba et de ce fait votre code m'intéresse beaucoup. Serait-il possible (si ce n'est pas trop vous demander) de modifier ce code de manière à ce qu'il fasse automatiquement la même chose sur une feuille pour tous les UserForm se trouvant dans un classeur, en une seule fois plutôt que d'être obligé d'ajouter le code et un bouton sur chaque UserForm.
D'autre part, en quoi sont les mesures et à quoi correspond le Tag.
Merci
avatar
IFFIC
Step_Three_VBA
Step_Three_VBA

Localisation : Sud Breizh ar mor
Messages : 398
Date d'inscription : 25/05/2013
Age : 67

Re: ASTUCES UTILES

Message par IFFIC le Lun 30 Avr - 19:34

Bonjour  TitiPointCom Smile  ou Bonsoir s'il fait déjà plus noir que dans mon coin au bout de l'occident.
J'aurais bien pu dire oriental car je suis du côté de Lorient.

En premier lieu, comme je l'ai souvent dit, je préfère m'adresser à un prénom plutôt qu'à un froid pseudo.

Dire "être nul en vba" est le propre de tout le monde, car même par nombre d'années à le pratiquer,
on en découvre encore avec modestie ce que l'on n'en savait toujours pas.

De quel code parles-tu?
Si cela est de ce que j'ai déposé ici, je suis disposé à en parler.

L'utilisation des tags de contrôles n'est pas trop dans les usages rencontrés sur le net,alors qu'elle offre d'énormes possibilités.


Je suis donc disposé à t'en expliquer un peu plus si tu suis avec vive présence cette discussion.
Amicalement,
Yves
avatar
TitiPointCom

Localisation : Alsace
Messages : 40
Date d'inscription : 01/01/2018

Re: ASTUCES UTILES

Message par TitiPointCom le Lun 30 Avr - 20:17

Re bonjour Yves
Puisque tu préfère, moi, c'est Christian.
Pour ce qui est du code, c'est celui de l'Astuce Utile, qui permet de lister les contrôles d'un UserForm avec leurs caractéristiques.
Comme je n'ai pas de mémoire et que de plus je suis loin de comprendre tous les codes que je trouve par ci par là, j'imprime les petits programmes que j'arrive à faire. Cependant, dans nombre de cas, la position et les caractéristiques d'un contrôle sont importants et ne figurent pourtant pas dans le code d'où l'intérêt pour ton code.
Si comme je le demandais il était possible d'adapter ce code de manière à éditer sur une seule feuille les controles de l'ensemble des UserForm d'un classeur plutôt que de copier le code dans chaque UserForm et d'ajouter le bouton qui va bien, ce serait plus pratique (du moins pour moi)

Amicalement
Christian
avatar
IFFIC
Step_Three_VBA
Step_Three_VBA

Localisation : Sud Breizh ar mor
Messages : 398
Date d'inscription : 25/05/2013
Age : 67

Re: ASTUCES UTILES

Message par IFFIC le Mer 2 Mai - 17:45

Pardon Christian si je tarde à te répondre, mais je suis bien occupé par ailleurs.

J'ai déjà fait un truc qui permet de gérer la position des contrôles d'un Usf n°1 par un Usf n°2
On sélectionne le contrôle que l'on veut dans le n°1, et on en change sa position, et au besoin ses propriétés.

Puis on imprime les nouvelles données que l'on va appliquer manuellement par la suite dans son projet.

Pour m'inciter à poursuivre, il serait bien aussi que tu participes à ces sujets: Very Happy
- "Instants Musique"
- "HUMOUR ET DERISON PAR IMAGES"

Amicalement, et au plaisir de partager,
Yves
avatar
IFFIC
Step_Three_VBA
Step_Three_VBA

Localisation : Sud Breizh ar mor
Messages : 398
Date d'inscription : 25/05/2013
Age : 67

Re: ASTUCES UTILES

Message par IFFIC le Mer 2 Mai - 19:04

Bonsoir à tous suivant l'heure où vous soyez au regard vif ou déjà endormi,
Dans cette discussion,
http://programmer-en-vb.forumactif.org/t692p25-activer-un-classeur-deja-ouvert

Fred nous a donné bel exemple de l'utilisation de "InStr", alors que je préfère "InStrRev"
NomDuFichierEnfant = Left(MonClasseurEnfant.Name, InStr(1, MonClasseurEnfant.Name, ".") - 1)

Mais, quoiqu'il en soit, c'est une bonne méthode pour extirper ce que l'on veut d'une chaine de caractères

J'avais pour habitude de l'utiliser aussi, mais en découvrant cette nouvelle façon de faire, je vais changer mon fusil d'épaule.

Je joins donc un petit truc qui avec l'utilisation simple de "Get" démontrera une partie de ce que l'on peut en faire.

https://www.cjoint.com/c/HEcrdKCfEos


Amicalement à ceux qui aurons l'amabilité de suivre,
Yves

NB à notre Admin: Je ne peux déposer en direct un Classeur, car l'on me dit qu'il ne me reste que 2ko disponibles Suspect Embarassed
avatar
TitiPointCom

Localisation : Alsace
Messages : 40
Date d'inscription : 01/01/2018

Re: ASTUCES UTILES

Message par TitiPointCom le Mer 2 Mai - 21:14

Bonjour Yves,
J'ai du faire une mauvaise manip, car il me semblait t'avoir répondu mais rien ne figure dans les messages.
En gros, j'ai réussi à bidouiller un truc à partir de ta macro, en ouvrant puis en fermant mes Usf l'un après l'autre et en y intercalant ta macro le résultat étant sur une feuille unique sous forme de tableaux s'incrémentant automatiquement les un sous les autres.
Je ne sais pas si je suis très clair alors je joint un morceau de code.
Code:
Public Sub EditControles()
UserForm5.Show
Dim TRUCS As Control
Dim n, m
If FeuilleExiste("RECAP_CONTROLES_01") = True Then
        MsgBox ("Une feuille [RECAP_CONTROLES_01] existe déjà" & vbCrLf & vbCrLf & _
        "Elle va être suprimée."), vbOKOnly, "ATTENTION"
        Sheets("RECAP_CONTROLES_01").Select: ActiveWindow.SelectedSheets.Delete:
    Else
    If vbNo = MsgBox("La macro va créer la liste des contrôles de ce formulaire. " & vbCrLf & vbCrLf & _
                     "Continuer ?", vbYesNo Or vbQuestion, "ATTENTION") Then Exit Sub
Sheets.Add ' Création la feuille
With ActiveSheet
.Name = "RECAP_CONTROLES_01"
Nb_LignesD = Range("A5000").End(xlUp).Row
m = Nb_LignesD
n = Nb_LignesD
Range("A" & Nb_LignesD & ":J" & Nb_LignesD).Select
    Selection.HorizontalAlignment = xlCenter
    Selection.VerticalAlignment = xlCenter
    Selection.Font.Size = 10
    Selection.Font.Bold = True
.Cells(m, 1).Value = "CONTENEUR"
.Cells(m, 2).Value = "NOM"
.Cells(m, 3).Value = "CAPTION"
.Cells(m, 4).Value = "TAG"
.Cells(m, 5).Value = "VALUE"
.Cells(m, 6).Value = "GAUCHE"
.Cells(m, 7).Value = "HAUT"
.Cells(m, 8).Value = "LARGEUR"
.Cells(m, 9).Value = "HAUTEUR"
.Cells(m, 10).Value = "VISIBLE"
For Each TRUCS In UserForm5.Controls
On Error Resume Next 'Car si un élément n'est pas captable comme "Value", il y aurait un plantage.
n = n + 1
.Cells(n, 1).Value = TRUCS.Parent.Name
.Cells(n, 2).Value = TRUCS.Name
.Cells(n, 3).Value = TRUCS.Caption
.Cells(n, 4).Value = TRUCS.Tag
.Cells(n, 5).Value = TRUCS.Value
.Cells(n, 6).Value = TRUCS.Left
.Cells(n, 7).Value = TRUCS.Top
.Cells(n, 8).Value = TRUCS.Width
.Cells(n, 9).Value = TRUCS.Height
.Cells(n, 10).Value = TRUCS.Visible
Range("A" & n & ":J" & n).Select
    Selection.HorizontalAlignment = xlCenter
    Selection.VerticalAlignment = xlCenter
    Selection.Font.Size = 8
Next
.Columns.AutoFit 'Pour rendre tout visible
End With
Dim Nb_Lignes
Nb_LignesF = Range("A5000").End(xlUp).Row
    Range("A" & Nb_LignesD & ":J" & Nb_LignesF).Select
    ActiveSheet.ListObjects.Add(xlSrcRange, Range("$A$" & Nb_LignesD & ":$J$" & Nb_LignesF), , xlYes).Name = _
        "Tab_Controles01"
    Range("Tab_Controles01[#All]").Select
    ActiveSheet.ListObjects("Tab_Controles01").TableStyle = "TableStyleMedium1"
    Range("Tab_Controles01[[#Headers],[CONTENEUR]]").Select
'End If
UserForm5.Hide
Unload UserForm5
Load UserForm6
UserForm6.Show
Dim MACHINS As Control
With ActiveSheet
Nb_LignesD = Range("A5000").End(xlUp).Row
m = Nb_LignesD + 2
n = Nb_LignesD + 2
Range("A" & Nb_LignesD + 2 & ":J" & Nb_LignesD + 2).Select
    Selection.HorizontalAlignment = xlCenter
    Selection.VerticalAlignment = xlCenter
    Selection.Font.Size = 10
    Selection.Font.Bold = True
.Cells(m, 1).Value = "CONTENEUR"
.Cells(m, 2).Value = "NOM"
.Cells(m, 3).Value = "CAPTION"
.Cells(m, 4).Value = "TAG"
.Cells(m, 5).Value = "VALUE"
.Cells(m, 6).Value = "GAUCHE"
.Cells(m, 7).Value = "HAUT"
.Cells(m, 8).Value = "LARGEUR"
.Cells(m, 9).Value = "HAUTEUR"
.Cells(m, 10).Value = "VISIBLE"
For Each MACHINS In UserForm6.Controls
On Error Resume Next 'Car si un élément n'est pas captable comme "Value", il y aurait un plantage.
n = n + 1
.Cells(n, 1).Value = MACHINS.Parent.Name
.Cells(n, 2).Value = MACHINS.Name
.Cells(n, 3).Value = MACHINS.Caption
.Cells(n, 4).Value = MACHINS.Tag
.Cells(n, 5).Value = MACHINS.Value
.Cells(n, 6).Value = MACHINS.Left
.Cells(n, 7).Value = MACHINS.Top
.Cells(n, 8).Value = MACHINS.Width
.Cells(n, 9).Value = MACHINS.Height
.Cells(n, 10).Value = MACHINS.Visible
Range("A" & n & ":J" & n).Select
    Selection.HorizontalAlignment = xlCenter
    Selection.VerticalAlignment = xlCenter
    Selection.Font.Size = 8
Next
.Columns.AutoFit 'Pour rendre tout visible
End With
Nb_LignesF = Range("A5000").End(xlUp).Row
    Range("A" & Nb_LignesD + 2 & ":J" & Nb_LignesF).Select
    ActiveSheet.ListObjects.Add(xlSrcRange, Range("$A$" & Nb_LignesD + 2 & ":$J$" & Nb_LignesF), , xlYes).Name = _
        "Tab_Controles02"
    Range("Tab_Controles02[#All]").Select
    ActiveSheet.ListObjects("Tab_Controles02").TableStyle = "TableStyleMedium1"
    Range("Tab_Controles02[[#Headers],[CONTENEUR]]").Select
UserForm6.Hide
Unload UserForm6
Load UserForm7
UserForm7.Show
Dim BIDULES As Control
With ActiveSheet
Nb_LignesD = Range("A5000").End(xlUp).Row
m = Nb_LignesD + 2
n = Nb_LignesD + 2
Range("A" & Nb_LignesD + 2 & ":J" & Nb_LignesD + 2).Select
    Selection.HorizontalAlignment = xlCenter
    Selection.VerticalAlignment = xlCenter
    Selection.Font.Size = 10
    Selection.Font.Bold = True
.Cells(m, 1).Value = "CONTENEUR"
.Cells(m, 2).Value = "NOM"
.Cells(m, 3).Value = "CAPTION"
.Cells(m, 4).Value = "TAG"
.Cells(m, 5).Value = "VALUE"
.Cells(m, 6).Value = "GAUCHE"
.Cells(m, 7).Value = "HAUT"
.Cells(m, 8).Value = "LARGEUR"
.Cells(m, 9).Value = "HAUTEUR"
.Cells(m, 10).Value = "VISIBLE"
For Each BIDULES In UserForm7.Controls
On Error Resume Next 'Car si un élément n'est pas captable comme "Value", il y aurait un plantage.
n = n + 1
.Cells(n, 1).Value = BIDULES.Parent.Name
.Cells(n, 2).Value = BIDULES.Name
.Cells(n, 3).Value = BIDULES.Caption
.Cells(n, 4).Value = BIDULES.Tag
.Cells(n, 5).Value = BIDULES.Value
.Cells(n, 6).Value = BIDULES.Left
.Cells(n, 7).Value = BIDULES.Top
.Cells(n, 8).Value = BIDULES.Width
.Cells(n, 9).Value = BIDULES.Height
.Cells(n, 10).Value = BIDULES.Visible
Range("A" & n & ":J" & n).Select
    Selection.HorizontalAlignment = xlCenter
    Selection.VerticalAlignment = xlCenter
    Selection.Font.Size = 8
Next
.Columns.AutoFit 'Pour rendre tout visible
End With
Nb_LignesF = Range("A5000").End(xlUp).Row
    Range("A" & Nb_LignesD + 2 & ":J" & Nb_LignesF).Select
    ActiveSheet.ListObjects.Add(xlSrcRange, Range("$A$" & Nb_LignesD + 2 & ":$J$" & Nb_LignesF), , xlYes).Name = _
        "Tab_Controles03"
    Range("Tab_Controles03[#All]").Select
    ActiveSheet.ListObjects("Tab_Controles03").TableStyle = "TableStyleMedium1"
    Range("Tab_Controles03[[#Headers],[CONTENEUR]]").Select
UserForm7.Hide
Unload UserForm7
End If
End Sup

Je n'ai mis qu'une partie du code car en fait, j'ai 10 Usf.
Evidemment, je suppose qu'il y a moyen de faire plus court, mais ça dépasse mes compétences.

Mon système présente plusieurs problèmes :
- les Usf ne se ferment pas automatiquement, malgré les instructions UnLoad et Hide, je suis obligé de cliquer sur la croix en haut à droite pour que l'Usf se ferme et que la macro se poursuive.
- Certain Usf lancent des choses à leur ouverture d'où click et reclick intempestifs.
Mais le résultat final est une feuille contenant ce qu'il me faut dans une forme me satisfaisant. (je ne suis peut-être pas assez exigeant)
Je ne sais pas si cela est possible, mais ce qui serait bien, ce serait qu'il soit possible d'obtenir la même chose, sans être obligé d'ouvrir les Usf. Cela supprimerait pas mal de problèmes.

Amicalement
Christian
avatar
IFFIC
Step_Three_VBA
Step_Three_VBA

Localisation : Sud Breizh ar mor
Messages : 398
Date d'inscription : 25/05/2013
Age : 67

Re: ASTUCES UTILES

Message par IFFIC le Jeu 3 Mai - 15:45

Bonjour Christian, ainsi qu'à ceux qui passeront par ici, (Vous remplacerez le Bonjour par Bonsoir suivant votre horloge)

J'ai déjà pondu des bidouilles permettant de provoquer l'ouverture des USF d'une autre application, en copier le code,
puis les refermer, mais je ne les retrouve plus dans mes archives. (Pépé est d'un désordre incommensurable Embarassed )

Normalement, on pourrait dresser la liste des contrôles qu'ils contiennent avec toutes leurs données.
Je vais continuer à chercher, et surtout me projeter dans ce qu'il y aura de plus utile.

Je te tiens au courant,
Amicalement,
Yves
avatar
IFFIC
Step_Three_VBA
Step_Three_VBA

Localisation : Sud Breizh ar mor
Messages : 398
Date d'inscription : 25/05/2013
Age : 67

Re: ASTUCES UTILES

Message par IFFIC le Jeu 3 Mai - 17:19

Voici une première approche concernant l'ouverture et la fermeture des USF.
J'espère que tu sauras adapter ces procédures à ton appli en cours.
Amicalement, et à suivre si besoin,
Yves

Classeur joint ici puisque le Forum à mis à seulement 2 ko mon espace de stockage Embarassed Suspect
 
https://www.cjoint.com/c/HEdpnGFikJs
avatar
TitiPointCom

Localisation : Alsace
Messages : 40
Date d'inscription : 01/01/2018

Re: ASTUCES UTILES

Message par TitiPointCom le Jeu 3 Mai - 18:30

Bonjour Yves

Je ne sais pas si c'est du à ma version d'Excel (2010) ou autre, mais il refuse d'ouvrir le fichier soi-disant que le format ou l'extension ne sont pas valises.

Amicalement
Christian
avatar
IFFIC
Step_Three_VBA
Step_Three_VBA

Localisation : Sud Breizh ar mor
Messages : 398
Date d'inscription : 25/05/2013
Age : 67

Re: ASTUCES UTILES

Message par IFFIC le Jeu 3 Mai - 19:17

Je vais tester et provoquer à nouveau pour voir d'où peut provenir l'erreur

Regarde si ces références sont bien cochées, et pas signalées comme manquantes.



A noter ta faute de frappe qui m'amuse bien lol! 

" pas valises." Shocked

Tu parles de celles que j'ai sous les yeux ou tu voulais dire "valide"
avatar
AdminPVB
Admin
Admin

Localisation : France Nord 59
Messages : 2051
Date d'inscription : 24/05/2013
Age : 42

Re: ASTUCES UTILES

Message par AdminPVB le Jeu 3 Mai - 21:02

Bonjour,
pour le format non valide il se peut que cela vienne simplement du dépôt de fichier ,j'ai le même souci avec mon dépôt de fichier.
deux solutions existe, soit passer par un zip ou télécharger le fichier à l'aide d'un autre exploreur.
Chrome par exemple.
A bientôt. (Yves je vais bientôt regarder pour l'espace de stockage) Laughing


_________________
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
TitiPointCom

Localisation : Alsace
Messages : 40
Date d'inscription : 01/01/2018

Re: ASTUCES UTILES

Message par TitiPointCom le Jeu 3 Mai - 22:32

Bonsoir Yves

Effectivement, en téléchargeant ton fichier avec Chrome, ça marche.

Merci
Christian
avatar
IFFIC
Step_Three_VBA
Step_Three_VBA

Localisation : Sud Breizh ar mor
Messages : 398
Date d'inscription : 25/05/2013
Age : 67

Re: ASTUCES UTILES

Message par IFFIC le Jeu 3 Mai - 23:04

Tant mieux, en espérant que cela te satisfasse
Je retourne cependant mon fichier en mode compressé pour ceux qui n'ont pas les chromes astiqués
https://www.cjoint.com/c/HEdvbjLfnWs
avatar
TitiPointCom

Localisation : Alsace
Messages : 40
Date d'inscription : 01/01/2018

Re: ASTUCES UTILES

Message par TitiPointCom le Jeu 3 Mai - 23:25

Re bonsoir

Ca marche impeccable avec vbModeless
Merci beaucoup

Bonne nuit
Christian

Contenu sponsorisé

Re: ASTUCES UTILES

Message par Contenu sponsorisé


    La date/heure actuelle est Sam 18 Aoû - 10:37