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 does not speak french,you are able to translate the whole topics with the flags just below of 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 5158 messages dans 620 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.


Derniers sujets

» EFFACER LIGNE SUR BASE
par AdminPVB Aujourd'hui à 6:43

» Menustrip Vbnet Visual Studio
par Berly Dim 17 Sep - 13:27

» Insertion commentaire dans cellules
par Berly Ven 15 Sep - 20:21

» Chercher un texte dans un commentaire de cellule
par Berly Ven 15 Sep - 20:10

» ameliorer informatique
par jmcr Jeu 14 Sep - 23:19

» question pour le forum
par AdminPVB Jeu 14 Sep - 16:59

» total d'une cellule
par jmcr Lun 11 Sep - 14:51

» CODE ET combobox date enregistrement
par jmcr Lun 11 Sep - 14:49

» compter le nombre de lignes dans un listbox
par jmcr Dim 10 Sep - 11:24

» dossier pdf
par jmcr Mer 6 Sep - 21:40

» suppression d'un fichier txt en cours d'utilisation
par La boc Mar 5 Sep - 20:12

» Boucle sur DataGridView
par AdminPVB Ven 1 Sep - 20:50

» RECHERCHE COMPTABILISER NOMBRE carte
par grisan29 Mar 29 Aoû - 17:49

» ancien temps mis au moderne
par Berly Mar 29 Aoû - 17:18

» Liers des tables dans une BDD
par La boc Mar 29 Aoû - 11:01

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 

Septembre 2017

LunMarMerJeuVenSamDim
    123
45678910
11121314151617
18192021222324
252627282930 

Calendrier Calendrier

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.

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 ]
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 ]
Ressource Vb.net

Ven 5 Mai - 22:29 par Berly

Bonsoir le forum

Toujours a la recherche de ressources ,je partage avec vous une nouvelle ressource  Wink.

Bonne lecture .

https://vbnetpourtous.wordpress.com/2012/12/13/les-variables/


ouvrir un classeur dans un autre

Partagez
avatar
AdminPVB
Admin
Admin

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

Résolu Re: ouvrir un classeur dans un autre

Message par AdminPVB le Sam 10 Aoû - 11:27

Rebonjour,

code a tester:
Code:
Function ClasseurOuvert(Nom As String) As Boolean  
Dim Wb As Workbook  

ClasseurOuvert = False  
For Each Wb In Application.Workbooks  
    If Wb.Name Like Nom & "*" Then  
        ClasseurOuvert = True
       Exit For
   End If  
Next Wb  
End Function
+ code du bouton bien lire les commentaires (pour les boucles)
Code:
Private Sub CommandButton6_Click() 'modifier article'
        'venant de phoenixordi excel application'
            Dim Classeursource As Workbook
            Dim CLasseurcible As Workbook
            Dim LaFeuille As Worksheet
            Dim i As Byte
 Me.Width = 915
        Set CLasseurcible = ThisWorkbook
        if classeurouvert("C:\Facturation-test\base\articles.xlsx")=true then
        Workbooks("articles.xlsx").Activate    
        'si il faut tester toutes les feuilles ôter les guillemets de la boucle'
 'For Each LaFeuille In Activeworkbook.Worksheets '
         If MsgBox("Copier la feuille " & LaFeuille.Name, vbYesNo) = vbYes Then _
         LaFeuille.Copy After:=CLasseurcible.Worksheets(CLasseurcible.Worksheets.Count)
         'Next LaFeuille'
 else:
 Set Classeursource = Workbooks.Open("C:\Facturation-test\base\articles.xlsx")
            Set CLasseurcible = ThisWorkbook
            'For Each LaFeuille In Classeursource.Worksheets'
                If MsgBox("Copier la feuille " & LaFeuille.Name, vbYesNo) = vbYes Then _
                   LaFeuille.Copy After:=CLasseurcible.Worksheets(CLasseurcible.Worksheets.Count)
            'Next LaFeuille'
        end if
   'Workbooks("articles.xlsx").save' 'ligne pour enregistrer si ok '       
           Classeursource.Close
            Set Classeursource = Nothing
            Set CLasseurcible = Nothing
       End Sub
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
grisan29
Modérateur
Modérateur

Localisation : BRETAGNE Nord 29
Messages : 766
Date d'inscription : 25/07/2013
Age : 54

Résolu Re: ouvrir un classeur dans un autre

Message par grisan29 le Sam 10 Aoû - 20:43

bonjour Fhoest
excuse de l'absence, merci pour ce code qui est quasi parfait sauf qu'il y a un bug erreur91 variable objet où bloc with non définie et c'est dans cette partie
Code:
Set Classeursource = Workbooks.Open("C:\Facturation\base\articles.xlsx")
            Set CLasseurcible = ThisWorkbook
            'For Each LaFeuille In Classeursource.Worksheets'
              If MsgBox("Copier la feuille " & LaFeuille.Name, vbYesNo) = vbYes Then _
                  LaFeuille.Copy After:=CLasseurcible.Worksheets(CLasseurcible.Worksheets.Count)
            'Next LaFeuille'
        End If
que cette ligne
Code:
If MsgBox("Copier la feuille " & LaFeuille.Name, vbYesNo) = vbYes Then _
                  LaFeuille.Copy After:=CLasseurcible.Worksheets(CLasseurcible.Worksheets.Count)
fait défaut

Pascal
avatar
AdminPVB
Admin
Admin

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

Résolu Re: ouvrir un classeur dans un autre

Message par AdminPVB le Sam 10 Aoû - 21:42

Bonsoir Grisan29,
oui après avoir regardé le code je comprend pourquoi,
le fait d'avoir enlever la boucle la variable Lafeuille ne correspond à plus rien,
il faut de se fait la définir par:
Code:
set Lafeuille=ActiveSheet
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
grisan29
Modérateur
Modérateur

Localisation : BRETAGNE Nord 29
Messages : 766
Date d'inscription : 25/07/2013
Age : 54

Résolu Re: ouvrir un classeur dans un autre

Message par grisan29 le Dim 11 Aoû - 6:08

bonjour Fhoest
Merci c'est nettement mieux mais pourquoi c'est la feuille "facture " qui est ouverte sous "Feuil2" sur demande

Pascal
avatar
AdminPVB
Admin
Admin

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

Résolu Re: ouvrir un classeur dans un autre

Message par AdminPVB le Dim 11 Aoû - 13:50

grisan29 a écrit:bonjour Fhoest
Merci c'est nettement mieux mais pourquoi c'est la feuille "facture " qui est ouverte sous "Feuil2" sur demande

Pascal
Bonjour Grisan29

La feuille Facture ou le classeur Facture car:
Ta feuille active ici nommé Lafeuille sera toujours égale à la feuille du classeur activé et de la feuille active
En traduisant par VBA:
le dernier code que j'ai donné.
Code:
set Lafeuille = Activesheet
Lafeuille = nom de ta variable objet worksheet = feuille de travail qui est instancié par cette ligne ci dessous
Code:
dim lafeuille as worksheet
Et Activesheet= feuille active donc du classeur actif
il faut donc bien activer avant cette ligne le bon classeur et la bonne feuille.

J' espère que tu comprends car ce n'est pas facile à expliquer


_________________
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
grisan29
Modérateur
Modérateur

Localisation : BRETAGNE Nord 29
Messages : 766
Date d'inscription : 25/07/2013
Age : 54

Résolu Re: ouvrir un classeur dans un autre

Message par grisan29 le Dim 11 Aoû - 14:59

bonjour Fhoest
j'ai enfin réussi a ouvrir la feuille "articles " et non celle "facture", en décochant 2 lignes, dont je te joint le code, et après je te soumets un autre bug qui n'a plus rien a voir avec ce code, qui a mis le temps pour être rectifié mais ce n'est qu'un détail
Code:
Private Sub CommandButton6_Click()
Me.Width = 915
        'venant de phoenixordi excel application'
            Dim Classeursource As Workbook
            Dim CLasseurcible As Workbook
            Dim LaFeuille As Worksheet
            Dim i As Byte
 Me.Width = 915
        Set CLasseurcible = ThisWorkbook
              Set LaFeuille = ActiveSheet

        If ClasseurOuvert("C:\Facturation\base\articles.xlsx") = True Then
        Workbooks("articles.xlsx").Activate
        'si il faut tester toutes les feuilles ôter les guillemets de la boucle'
 'For Each LaFeuille In Activeworkbook.Worksheets '
         If MsgBox("Copier la feuille " & LaFeuille.Name, vbYesNo) = vbYes Then _
         LaFeuille.Copy After:=CLasseurcible.Worksheets(CLasseurcible.Worksheets.Count)
         'Next LaFeuille'
 Else:
 Set Classeursource = Workbooks.Open("C:\Facturation\base\articles.xlsx")
            Set CLasseurcible = ThisWorkbook
            For Each LaFeuille In Classeursource.Worksheets
                If MsgBox("Copier la feuille " & LaFeuille.Name, vbYesNo) = vbYes Then _
                   LaFeuille.Copy After:=CLasseurcible.Worksheets(CLasseurcible.Worksheets.Count)
            Next LaFeuille
        End If
   'Workbooks("articles.xlsx").save' 'ligne pour enregistrer si ok '
           Classeursource.Close
            Set Classeursource = Nothing
            Set CLasseurcible = Nothing
End Sub
donc le nouveau bug je vais faire une recherche et au cas où je reviens

Pascal
avatar
grisan29
Modérateur
Modérateur

Localisation : BRETAGNE Nord 29
Messages : 766
Date d'inscription : 25/07/2013
Age : 54

Résolu Re: ouvrir un classeur dans un autre

Message par grisan29 le Dim 11 Aoû - 15:32

re Fhoest
maintenant c'est je pense un conflit avec le reste du code, donc pour ne pas avoir a modifier tous les codes , je vais essayer de mon coté en gardant l'ouverture de la feuille article a intégré entièrement le fichier source des codes suppression et modification
donc si j'arrive pour fermer la feuille "article" et enregistrer ce qui a été modifié
est ce que ceci peux faire l'affaire
Code:
Sheets("Articles").Delete
ou alors
Code:
Sheets("Articles").save & Delete
Pascal
avatar
grisan29
Modérateur
Modérateur

Localisation : BRETAGNE Nord 29
Messages : 766
Date d'inscription : 25/07/2013
Age : 54

Résolu Re: ouvrir un classeur dans un autre

Message par grisan29 le Dim 11 Aoû - 20:49

bonsoir Fhoest Cool 
je vais clore le post car j'ai intégré le classeur souce dans la feuille article et cela fonctionne même si ce n'est pas tout a fait comme je le voulais, le tout est que cela fonctionne
je te remercie Cool beaucoup des efforts que tu a déployer pour essayer de résoudre cette équation cheers

Pascal
avatar
AdminPVB
Admin
Admin

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

Résolu Re: ouvrir un classeur dans un autre

Message par AdminPVB le Dim 11 Aoû - 20:55

Bonsoir Grisan29,
désolé je n'ai pas suivi le fil cette après midi,ravi que tu ai trouvé ton bonheur.
j'ai bossé sur le dépôt de fichier pour donner la possibilité a l'utilisateur de créer son propre dossier,
Peux tu tester et me faire un retour.
Merci.
je dois vérifier les droits.

A bientôt sur d'autre fils...
PS: as tu vu qu 'il y avait maintenant une icone de dépot de fichier dans la fenêtre réponse du forum,
petit gif animé en dessous de souligné(barré).


_________________
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
grisan29
Modérateur
Modérateur

Localisation : BRETAGNE Nord 29
Messages : 766
Date d'inscription : 25/07/2013
Age : 54

Résolu Re: ouvrir un classeur dans un autre

Message par grisan29 le Dim 11 Aoû - 21:21

bonsoir Fhoest

je vais te joindre un classeur a base de listview coloré une ligne sur 2
que dois je mettre pour le dossier de destination
http://pvb.comeze.com/Fichier_upload//listview(2).xlsm
Pascal
avatar
AdminPVB
Admin
Admin

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

Résolu Re: ouvrir un classeur dans un autre

Message par AdminPVB le Dim 11 Aoû - 22:13

Bonsoir,
merci pour le fichier listview,
pour le dépôt de fichier j'ai modifié un peu ,parce que je constate par ta remarque que ce n'était pas très clair pour le nom de dossier.
Peu tu refaire un test, merci
Pour la listview je te donnerai un code ultra sympa ,tu verras c'est du top.
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
grisan29
Modérateur
Modérateur

Localisation : BRETAGNE Nord 29
Messages : 766
Date d'inscription : 25/07/2013
Age : 54

Résolu Re: ouvrir un classeur dans un autre

Message par grisan29 le Dim 11 Aoû - 23:22

re Fhoest
je ne sais pas si tu a vu mais j'ai fait une contribution téléphonique
bon je vais réessayer avec la listview
http://pvb.comeze.com/Fichier_upload/pascal29/listview(2).xlsm
dans la page pour joindre les fichiers il y a un souci avec les écrits il y a les "é" qui sont remplacer
Pascal
avatar
grisan29
Modérateur
Modérateur

Localisation : BRETAGNE Nord 29
Messages : 766
Date d'inscription : 25/07/2013
Age : 54

Résolu Re: ouvrir un classeur dans un autre

Message par grisan29 le Dim 11 Aoû - 23:24

re Fhoest
je ne sais pas si tu a vu mais j'ai fait une contribution téléphonique
bon je vais réessayer avec la listview
http://pvb.comeze.com/Fichier_upload/pascal29/listview(2).xlsm
dans la page pour joindre les fichiers il y a un souci avec les écrits il y a les "é" qui sont remplacer
Pascal


_________________
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
AdminPVB
Admin
Admin

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

Résolu Re: ouvrir un classeur dans un autre

Message par AdminPVB le Lun 12 Aoû - 10:38

Bonjour Grisan29

comme convenu voici le fichier:
listview_option
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
grisan29
Modérateur
Modérateur

Localisation : BRETAGNE Nord 29
Messages : 766
Date d'inscription : 25/07/2013
Age : 54

Résolu Re: ouvrir un classeur dans un autre

Message par grisan29 le Lun 12 Aoû - 12:08

bonjour Fhoest

Merci pour la modif du classeur listview je me suis permis de rajouter une option au combobox
Code:
Private Sub combobox1_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
  ComboBox1.DropDown
End Sub
ce qui permet de ne plus cliquer sur la flèche de déroulement

Pascal
avatar
AdminPVB
Admin
Admin

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

Résolu Re: ouvrir un classeur dans un autre

Message par AdminPVB le Lun 12 Aoû - 12:14

Re,
sympa l'option je vais l' adopter
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
grisan29
Modérateur
Modérateur

Localisation : BRETAGNE Nord 29
Messages : 766
Date d'inscription : 25/07/2013
Age : 54

Résolu Re: ouvrir un classeur dans un autre

Message par grisan29 le Lun 12 Aoû - 20:37

bonsoir Fhoest

comme on dit adopter c'est vendu lol! Wink 

pascal
avatar
grisan29
Modérateur
Modérateur

Localisation : BRETAGNE Nord 29
Messages : 766
Date d'inscription : 25/07/2013
Age : 54

Résolu Re: ouvrir un classeur dans un autre

Message par grisan29 le Mar 13 Aoû - 19:48

bonjour Fhoest Cool 

je te renvoi ton fichier listview car j'y ai mis une feuille devis, mais le code n'est pas fini d'etre régler pour l'eenvoi dans la page , mais la n'est pas le souci
lors de l'inscription des articles la norme veux qu'ils soit inscrit l'un après l'autre mais ici non et je suis piégé les articles s'insère toujours en 1ère ligne en repoussant les autres
http://cjoint.com/?CHntVHQ8GwV
inscrit moi ou est l'erreur
bonne soirée
Pascal
avatar
AdminPVB
Admin
Admin

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

Résolu Re: ouvrir un classeur dans un autre

Message par AdminPVB le Mer 14 Aoû - 10:27

Bonjour Grisan29
voici le code que je te propose:
Code:
Private Sub ajout_Click()
'*** bouton "ajout sur devis/facture"

 
  Dim lig As Integer, i As Integer
  Dim Sh As Worksheet, VPB As PageSetup
  Dim LargeurCol As Single, MaHauteur As Single, Lg_Origine As Single
  'calcul de la valeur de la variable lig
  Dim mot As String
  Dim ctrMt, ctrTVA7, ctrTVA19 As Variant
 
  Application.ScreenUpdating = False
  Application.EnableEvents = False
 
  With Sheets("facture")
    '.Range("A14:AC14,AD14:AE14").Borders(xlEdgeBottom).LineStyle = xlContinuous
    lig = .Range("a13").End(xlDown).Row + 1
  ' If lig < 14 Then lig = 14

Rows(lig - 1 & ":" & lig - 1).Select
    Selection.Copy
    Rows(lig & ":" & lig).Select
    Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
        SkipBlanks:=False, Transpose:=False
    Application.CutCopyMode = False
    'insertion d'une ligne
    '.Rows(lig + 1).Insert
    '.Range("A" & lig - 1 & ":AE" & lig - 1).Copy
    '.Range("A" & lig).Insert xlShiftDown
    '.Range("A" & lig & ":AE" & lig).ClearContents
    '.Range("A" & lig & ":S" & lig).HorizontalAlignment = xlLeft
   
    If Not Me.TextBox2 = "" Then
      .Rows(lig) = ""
      .Range("A" & lig) = TextBox2.Value
      Lg_Origine = .Columns(3).ColumnWidth
      LargeurCol = .Columns(3).ColumnWidth + .Columns(4).ColumnWidth + .Columns(5).ColumnWidth + .Columns(6).ColumnWidth + _
                  .Columns(7).ColumnWidth + .Columns(8).ColumnWidth
      .Columns(4).ColumnWidth = LargeurCol
      With .Range("A" & lig, "S" & lig)
        .Font.Size = 12
        .Font.Name = "arial"
        .MergeCells = False
        '.WrapText = True  'retour du texte à la ligne
        .EntireRow.AutoFit  'mettre la ligne en ajustement auto de la hauteur
        MaHauteur = .RowHeight  'voir quelle est la hauteur de la ligne une fois cet autofit fait
        .MergeCells = True  'refusionner

        '.VerticalAlignment = xlCenter
        .RowHeight = IIf(MaHauteur > 15, MaHauteur, 15)  'si la hauteur une fois autofit fait est inferieur à 15 je laisse 15 en minimum sinon hauteur de l'autofit (perso c'est la hauteur mini que je voulais
      End With
    End If
    .Columns(4).ColumnWidth = Lg_Origine
    DoEvents
    'recopie et mise en forme des données dans la feuille facturation
    'calcul du montant HT
    If IsNumeric(.Cells(lig, "I")) And IsNumeric(.Cells(lig, "K")) Then
      .Cells(lig, "AD").FormulaR1C1 = "=IF(RC[-2]=1,RC[-6]*RC[-4]*0.07,"""")"
      .Cells(lig, "AD").NumberFormat = "#,##0.00€"
      .Cells(lig, "AE").FormulaR1C1 = "=IF(RC[-3]=2,RC[-7]*RC[-5]*0.196,"""")"
      .Cells(lig, "AE").NumberFormat = "#,##0.00€"
      .Cells(lig, "Z").FormulaR1C1 = "=RC[-1]*RC[-3]"
      .Cells(lig, "Z").NumberFormat = "#,##0.00€"
    End If
    'calcul du montant HT
    If IsNumeric(.Cells(lig, "W")) And IsNumeric(.Cells(lig, "U")) Then
        .Cells(lig, "Z") = "=" & .Cells(lig, "W").AddressLocal & "*" & .Cells(lig, "U").AddressLocal
    Else
      .Cells(lig, "AD") = ""
      .Cells(lig, "AE") = ""
    End If
    'calcul des totaux montant HT, TVA5,5, TVA 19,6
    For i = lig To 1 Step -1
        If .Cells(i, "U") = "REPORT" Or .Cells(i, "U") = "Quantité" Then Exit For
    Next i
    .Cells(lig + 1, "Z").Formula = "=SUM(" & .Range(.Cells(i + 1, "Z"), .Cells(lig, "Z")).AddressLocal & ")"
    .Cells(lig + 1, "Z").NumberFormat = "#,##0.00€"
    .Cells(lig + 1, "AD").Formula = "=SUM(" & .Range(.Cells(i + 1, "AD"), .Cells(lig, "AD")).AddressLocal & ")"
    .Cells(lig + 1, "AD").NumberFormat = "#,##0.00€"
    .Cells(lig + 1, "AE").Formula = "=SUM(" & .Range(.Cells(i + 1, "AE"), .Cells(lig, "AE")).AddressLocal & ")"
    .Cells(lig + 1, "AE").NumberFormat = "#,##0.00€"
   
    If .Cells(lig + 1, "AE") < 0.0001 Then .Cells(lig + 1, "AE") = ""
    If .Cells(lig + 1, "AD") < 0.0001 Then .Cells(lig + 1, "AD") = ""
    .Cells(lig + 1, "Z") = ctrMt
    .Cells(lig + 1, "Z").NumberFormat = "#,##0.00€"
    .Cells(lig + 1, "AD") = ctrTVA7
    .Cells(lig + 1, "AD").NumberFormat = "#,##0.00€"
    .Cells(lig + 1, "AE") = ctrTVA19
    .Cells(lig + 1, "AE").NumberFormat = "#,##0.00€"
    'Remise a zéro du formulaire
    ' TextBox13.Value = ""
    'TextBox14.Value = ""
    'Me.TextBox19 = ""
    ' TextBox15.Value = ""
    'TextBox21.Value = ""
    'TextBox17.Value = ""
    'TextBox20.Value = ""
    'TextBox16.Value = ""
    'OptionButton3.Value = False

    'Formatage du tableau


    .Cells(lig, "A").Borders(xlEdgeLeft).LineStyle = xlContinuous
    .Range(.Cells(lig, "T"), .Cells(lig, "AE")).Borders(xlEdgeLeft).LineStyle = xlContinuous
    .Range(.Cells(lig, "C"), .Cells(lig, "AC")).Borders(xlEdgeTop).LineStyle = xlNone
    .Range(.Cells(lig, "AD"), .Cells(lig, "AE")).Borders(xlEdgeTop).LineStyle = xlNone
    .Range(.Cells(lig, "A"), .Cells(lig, "AC")).Borders(xlEdgeBottom).LineStyle = xlContinuous
    .Range(.Cells(lig, "AD"), .Cells(lig, "AE")).Borders(xlEdgeBottom).LineStyle = xlContinuous
    .Range(.Cells(lig, "A"), .Cells(lig, "S")).Borders(xlInsideVertical).LineStyle = xlNone
    .Range(.Cells(lig, "T"), .Cells(lig, "AF")).Borders(xlInsideVertical).LineStyle = xlContinuous
    .Range(.Cells(lig, "AD"), .Cells(lig, "AE")).VerticalAlignment = xlCenter
    '.Range(.Cells(lig, "A14:AE14")).Borders(xlEdgeTop).LineStyle = xlContinuous
    .Range(.Cells(lig, "I"), .Cells(lig, "AC")).VerticalAlignment = xlCenter

    With .Range("A14:AE" & lig) '& ",O19:P" & lig)
      .Font.Size = 12
      .Font.Name = "arial"
    End With
  End With

  '.Range("O19:P19").Borders(xlEdgeTop).LineStyle = xlContinuous

 
  'TextBox8 = Me.TextBox5.Text - Me.TextBox9.Text
  'If TextBox8 < 0 Then TextBox8 = 0
  'TextBox5 = TextBox8
 
 
  Application.ScreenUpdating = True
  Application.EnableEvents = True


End Sub
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
grisan29
Modérateur
Modérateur

Localisation : BRETAGNE Nord 29
Messages : 766
Date d'inscription : 25/07/2013
Age : 54

Résolu complètement résolu

Message par grisan29 le Mer 14 Aoû - 12:31

Bonjour Fhoest
comme a ton habitude c'est parfait Cool
je faire une comparaison des 2 codes pour voir ou était l'erreur

merci et mes excuses j'aurai du ouvrir un autre post Sad  

Pascal
j'ai répondu trop vite car quand il y a déjà une ligne d'article d'écrite celaz vas très bien mais quand il pas de lignes d'écrite en dessous la 13 ème ca bug erreur 6 dépassement de capacité et ca mets
Code:
lig = .Range("A13").End(xlDown).Row + 1
en jaune et la souris indique lig est =0 en passant au dessus

Pascal
avatar
AdminPVB
Admin
Admin

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

Résolu Re: ouvrir un classeur dans un autre

Message par AdminPVB le Mer 14 Aoû - 23:18

Bonsoir,
il faut contourner le problème en conditionnant la recherche de la ligne
comme ceci:
Code:

' condition pour eviter problème sur lig
If .Range("a14").Value = "" Then
       lig = 14
       Else:
       lig = .Range("a13").End(xlDown).Row + 1
       End If
A+


Dernière édition par Fhoest ( Admin ) le Jeu 15 Aoû - 11:45, édité 1 fois


_________________
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
grisan29
Modérateur
Modérateur

Localisation : BRETAGNE Nord 29
Messages : 766
Date d'inscription : 25/07/2013
Age : 54

Résolu Re: ouvrir un classeur dans un autre

Message par grisan29 le Jeu 15 Aoû - 5:39

bonjour Fhoest Very Happy 

c'est exactement ce qu'il fallait faire Smile Merci

Pascal

Contenu sponsorisé

Résolu Re: ouvrir un classeur dans un autre

Message par Contenu sponsorisé


    La date/heure actuelle est Mer 20 Sep - 16:29