cbxlies concocter par dranreb pour matou59

grisan29

XLDnaute Accro
bonsoir le forum et Dranreb

puis je m'approprier ce projet de cbxlies si tu m'explique comment la 1ere combobox puisse prendre ses informations sur plusieurs(8 ou 10) feuilles de la même architecture que celle que tu as fait
dans ce post
pour m'exercer a manipuler tes cbxlies et créer un classeur client a mon voisin en m'appropriant celui que tu fait pour fenec

pascal
 
Dernière édition:

grisan29

XLDnaute Accro
Re : cbxlies concocter par dranreb pour matou59

re
il n'ya que le nom de feuille("D1") qui fusionnée mais peut etre enlever tant qu'a tout modifier

L'entête de facture ne pourrait-il se mettre dans l'entête et pied de page de la feuille ?
comme est intégré mes références d'entreprise en bas de page actuellement ?
Code:
.Orientation = xlPortrait
                 .PrintHeadings = False
                 ' "pied de page au centre"
                 .CenterFooter = "&16&""Arial,Gras""SIRET : 000000000   -   NAF : 00000   -   RCS : 00000 -   N° TVA   :  FR00000000000" & Chr(10) & _
                                                     "assurance décennale n°123456789 de chez untel"
dans le code du bouton aperçu

Pascal
 

Dranreb

XLDnaute Barbatruc
Re : cbxlies concocter par dranreb pour matou59

Oui, c'est bien ce que je voulais dire, dans l'entête de la feuille, pour ne pas être obligé de laisser des colonnes vides dans le corps de facture pour nécessités d'entête dans la feuille, ce qui finit par conduire à les fusionner dans le corps.
 

grisan29

XLDnaute Accro
Re : cbxlies concocter par dranreb pour matou59

re
j'ai esayer le code derrière le bouton ok mais il y a un bug avec erreur 91 variable objet ou de bloc introuvables
a cette ligne
Code:
PlgDest.Columns(1).Value = ValsLgn(1, 1)

pour revenir aux entêtes comme faire la séparation des devis/factures/facturesacompte et factures acquittée et les bas qui vont avec
et mon logo
Pascal
 
Dernière édition:

Dranreb

XLDnaute Barbatruc
Re : cbxlies concocter par dranreb pour matou59

Sais pas. Peut être l'userform à-t-il été affiché par une intervention extérieure au lieu de s'être réaffiché tout seul, de sorte qu'on n'est pas passé par la Ex_SheetSelectionChange et du coup PlgDest n'a pas été initialisé.
Mets un point d'arrêt dans cette procédure et déroule pas à pas.
 
Dernière édition:

grisan29

XLDnaute Accro
Re : cbxlies concocter par dranreb pour matou59

bonjour
je reviens pour les entêtes, j'ai essayer comme ceci
Code:
             .LeftHeader = _
        "&18&""Arial,Gras""&16Pascal " & Chr(10) & " adresse " & Chr(10) & " cp+ville"
        '.CenterHeader = "&G"
         .CenterHeader = "&28&""Arial,Gras""FACTURE"-------------------' non inscrit effacer avec dessous
            With .CenterHeaderPicture
                .Filename = "D:\images\logo et +\logo01.jpg"
                .Height = 120 '<-- redéfinit la largeur de l'image
                .Width = 280 '<-- redéfinit la hauteur de l'image
            End With
            ActiveSheet.PageSetup.CenterHeader = "&G" '<-- ajout du code &G
mais je voudrais que le logo soit en dessous du nom de feuille

concernant
Code:
PlgDest.Columns(1).Value = ValsLgn(1, 1)

je ne sais si cela est la cause
mais lorsque a l'ouverture du classeur ou changement feuille, je suis obliger de cliquer sur le bouton pour afficher l'userform et je referme l'userform pour que le clic dans les cellules fonctionne , a ce propos c'est plutôt gênant que le clic est dans toute les cellules
pascal
 

Dranreb

XLDnaute Barbatruc
Re : cbxlies concocter par dranreb pour matou59

c'est plutôt gênant que le clic est dans toute les cellules
Pourquoi, puisque ça n'entraine l'affichage de l'UserForm que s'il est dans un corps de facture ?
C'est vrai que le changement de feuille est à revoir. Peut être insuffisant. Supprimer provisoirement la Private Sub Ex_SheetActivate.
mettre dans ThisWorkbook
Private Sub Workbook_Open()
Load UFmFiche
End Sub
Mais attention, il faut prévoir un Unload UFmFiche quelque part si on commence à modifier la Bd_Personnel sinon CL.PlgTablo devient faux.
 
Dernière édition:

grisan29

XLDnaute Accro
Re : cbxlies concocter par dranreb pour matou59

il est gênant du fait que n'importe où est le clic dans la partie concernée dans le corps de la facture l'userform s'affiche car si je modifier une cellule je ne peux pas

concernant l'entête j'ai réussi a mettre le nom de feuille au dessus du logo mais je ne sais pas pour les autres noms
Code:
ActiveSheet.PageSetup.CenterHeader = "&28&""Arial,Gras""FACTURE" & Chr(10) & "&G"

je fait ces essais dans un nouveau classeur

Pascal
 

Dranreb

XLDnaute Barbatruc
Re : cbxlies concocter par dranreb pour matou59

Ah. Si on reste sur la même ligne il ne faut pas que ça réinitialise les contrôles.
Mettre peut être en tête If Not Intersect(Target, PlgDest) Is Nothing Then Exit Sub
Mettre peut être quelque part Me.StartUpPosition = 0 pour que l'UserForm reste positionné comme il était au dernier affichage.
Sinon, si c'est plus pratique on peut modifier les tests pour que l'affichage n'ait lieu que si on sélectionne une certaine colonne. If Target.Column <> 2 Then Exit Sub
 
Dernière édition:

grisan29

XLDnaute Accro
Re : cbxlies concocter par dranreb pour matou59

re
avec cette ligne If Not Intersect(Target, PlgDest) Is Nothing Then Exit Sub il y a un bug erreur 5 appel de procédure incorrect mais juste après avoir fermer l'userform ouvert par le bouton, c'est le clic dans la cellule qui créer le bug
donc je peux vraiment savoir si Me.StartUpPosition = 0 est appliqué a chaque fois

mais cette ligne If Target.Column <> 2 Then Exit Sub c'est bon 2 donne la 2ème colonne et c'est bon pas avec les colonnes voisines

autrement pour mon fichier pourquoi depuis que j'ai enlever 2 colonnes l'userform ne veux plus mettre devis sur le bouton, j'ai essayer plusieurs test mais sans succès
Code:
Sub HabiliterBoutons(): If ExécutionIntempestive Then Exit Sub
If ToutEstPareil Then
   BtnEffacer.Caption = "R.à Z."
   BtnEffacer.Enabled = CBcivil.Text <> "" Or CBnom.Text <> "" Or CBprenom.Text <> ""
   BtnValider.Caption = IIf(LCou = 0, "Ajouter", "Devis")
   BtnValider.Enabled = LCou > 0
   BtnSupprimer.Enabled = LCou > 0
Else
   BtnEffacer.Caption = "Rétablir"
   BtnEffacer.Enabled = True
   BtnValider.Caption = IIf(LCou = 0, "Ajouter", "Modifier")
   BtnValider.Enabled = True
   BtnSupprimer.Enabled = False
   End If
End Sub

pascal
 
Dernière édition:

grisan29

XLDnaute Accro
Re : cbxlies concocter par dranreb pour matou59

en mettant ToutEstPareil = True a ToutEstPareil = false ça ne change rien

je te joint le classeur

Pascal
 

Pièces jointes

  • Copie de Client a modules de classes.zip
    116.7 KB · Affichages: 31

Dranreb

XLDnaute Barbatruc
Re : cbxlies concocter par dranreb pour matou59

ToutEstPareil est une Function écrite juste en dessous.
Elle rend toujours False tout de suite puisque elle compare VLgn(1, 6) à Me.TBattention.Text, lequel a reçu VLgn(1, 4) dans GarnirChamps
Il me semble que les numéros de colonnes n'ont pas été corrigés non plus dans BtnValider_Click
 
Dernière édition:

grisan29

XLDnaute Accro
Re : cbxlies concocter par dranreb pour matou59

bonsoir dranreb:cool:
le sujet classeur client est clos car tu as entièrement raison :cool::cool:
je n'avais fait que la moitié des changements de numéros :confused:
Code:
Private Sub BtnValider_Click()
If BtnValider.Caption = "Devis" Then
   Dim VCol(1 To 6, 1 To 1)
   VCol(1, 1) = VLgn(1, 1) & " " & VLgn(1, 2)
   VCol(2, 1) = VLgn(1, 3)
   VCol(3, 1) = "À l'attention de :  " & VLgn(1, 4)
   VCol(4, 1) = VLgn(1, 5)
   VCol(5, 1) = VLgn(1, 6)
   VCol(6, 1) = VLgn(1, 7) & " " & VLgn(1, 8)
   Feuil1.[A1:A6].Value = VCol
Else
   If LCou = 0 Then
      LCou = CL.PlgTablo.Rows.Count
      With CL.PlgTablo.Rows(LCou): .Copy: .Insert: End With
      LCou = LCou + 1: End If
   VLgn(1, 4) = Me.TBattention.Text
   VLgn(1, 5) = Me.TBadresse.Text
   VLgn(1, 6) = Me.TBcomplement.Text
   VLgn(1, 7) = Me.CBcp.Text
   VLgn(1, 8) = Me.CBville.Text
   VLgn(1, 9) = Me.TBtele.Text
   VLgn(1, 10) = Me.TBport.Text
   VLgn(1, 11) = Me.TBfax.Text
   VLgn(1, 12) = Me.TBmail.Text
   CL.PlgTablo.Rows(LCou).Resize(, 12).Value = VLgn
   CL.Actualiser
   HabiliterBoutons
   End If
End Sub
juste la dernière partie et cela buggait surement car il n'y avait que la moitié de fait voila surement la raison car dans toutestpareil j'avais modifier

Pascal
 
Dernière édition:

grisan29

XLDnaute Accro
Re : cbxlies concocter par dranreb pour matou59

bonjour dranreb

aujourdhui je me suis mis a créer un logo qui englobe tout
c'est a dire que je garde cette partie du code
Code:
 With .CenterHeaderPicture
                .Filename = "D:\images\logo et +\logo01.jpg"
                .Height = 120 '<-- redéfinit la largeur de l'image
                .Width = 280 '<-- redéfinit la hauteur de l'image
            End With
            ActiveSheet.PageSetup.CenterHeader = "&G" '<-- ajout du code &G
mais que j'ai mis a gauche soit
LeftHeaderPicture
et cela fonctionne, mais je n'arrive pas réorganiser tous mes boutons et certains active un userform qui se charge des données dans la feuile mais comme elle n'est remplie qu'après ca ne vas pas

Pascal
 

Discussions similaires

Statistiques des forums

Discussions
312 203
Messages
2 086 184
Membres
103 152
dernier inscrit
Karibu