Vba

David44800

XLDnaute Nouveau
Bonjour a tous

j essaye de créer un suivi et une feuille de devis qui se remplis en automatique en vba mes connaissance son tres tres limite.

j ai commencé
bien sur rencontré plusieurs problème je ne suis pas un programmateur de VBA
j'ai mis le fichier ce que j ai deja fais j aimerais avoir de l'aide de cette communauté.

premier souci
dans ma base j ai vernis si on coche sa me m'est oui Ok
si je fais idem dans Dorure ou argent sa bug je comprend pas
j aimerais aussi qu'il remplse ma feuille base comme elle est et qui remplisse certain champs dans la feuille devis
si quelle qu'un peu m aider
 

Pièces jointes

  • 02112016.xls
    58.5 KB · Affichages: 69

Iznogood1

XLDnaute Impliqué
Bonjour,

il manque des "EndIf" dans ta procédure CmdAjout_Click()

Voici un version corrigée

Code:
Private Sub CmdAjout_Click()
Dim CTRL As Control  'Variable pour la collection des controls
Dim L As Integer  'Variable pour connaitre le numéro de derniere ligne vide
Dim X As Integer, i As Integer 'Variables pour faire la boucle de checking de Duplication
Dim Response As Byte
Dim Match As Byte

Dim LigneMax As Long
LigneMax = Range("Base!A1").CurrentRegion.Rows.Count + 1

' Incrément le compteur
Range("Base!A1") = Range("Base!A1") + 1
Range("Base!A" & LigneMax) = Range("Base!A1")


L = WS.Range("B65536").End(xlUp).Row + 1 ' On identifie la dernière ligne vide en partant du bas

Suite:
'ici avec la Feuille on va faire :
With WS
  .Range("B" & L) = CmbNom  ' On écrit dans chaque colonne les valeurs des différents controls
  .Range("C" & L) = Date1  ' Idem
  .Range("D" & L) = Adresse  ' Idem
  .Range("E" & L) = Txt3  ' Idem
  .Range("F" & L) = Txt4  ' Idem
  .Range("G" & L) = Produit  ' Idem
  .Range("H" & L) = Nom1  ' Idem
  .Range("I" & L) = Taillex  ' Idem
  .Range("J" & L) = Tailley  ' Idem
  .Range("K" & L) = Papier  ' Idem
  .Range("L" & L) = Couleur  ' Idem
 
  If Vernis.Value = True Then
  Range("Base!M" & LigneMax) = "Oui"
  Else
  Range("Base!M" & LigneMax) = "Non"
  End If
 
  If Dorure.Value = True Then
  'Ton code ici
  End If

  If Dorure.Value = True Then
  Range("Base!N" & LigneMax) = "Oui"
  Else
  Range("Base!N" & LigneMax) = "Non"
  End If
 
  If Dorure.Value = True Then
  'Ton code ici
  End If

   
End With
Ini 'On lance la réinitialisation du UserForm (Macro en haut du Module)

Fin:

End Sub
 

David44800

XLDnaute Nouveau
Bonjour,

il manque des "EndIf" dans ta procédure CmdAjout_Click()

Voici un version corrigée

Code:
Private Sub CmdAjout_Click()
Dim CTRL As Control  'Variable pour la collection des controls
Dim L As Integer  'Variable pour connaitre le numéro de derniere ligne vide
Dim X As Integer, i As Integer 'Variables pour faire la boucle de checking de Duplication
Dim Response As Byte
Dim Match As Byte

Dim LigneMax As Long
LigneMax = Range("Base!A1").CurrentRegion.Rows.Count + 1

' Incrément le compteur
Range("Base!A1") = Range("Base!A1") + 1
Range("Base!A" & LigneMax) = Range("Base!A1")


L = WS.Range("B65536").End(xlUp).Row + 1 ' On identifie la dernière ligne vide en partant du bas

Suite:
'ici avec la Feuille on va faire :
With WS
  .Range("B" & L) = CmbNom  ' On écrit dans chaque colonne les valeurs des différents controls
  .Range("C" & L) = Date1  ' Idem
  .Range("D" & L) = Adresse  ' Idem
  .Range("E" & L) = Txt3  ' Idem
  .Range("F" & L) = Txt4  ' Idem
  .Range("G" & L) = Produit  ' Idem
  .Range("H" & L) = Nom1  ' Idem
  .Range("I" & L) = Taillex  ' Idem
  .Range("J" & L) = Tailley  ' Idem
  .Range("K" & L) = Papier  ' Idem
  .Range("L" & L) = Couleur  ' Idem

  If Vernis.Value = True Then
  Range("Base!M" & LigneMax) = "Oui"
  Else
  Range("Base!M" & LigneMax) = "Non"
  End If

  If Dorure.Value = True Then
  'Ton code ici
  End If

  If Dorure.Value = True Then
  Range("Base!N" & LigneMax) = "Oui"
  Else
  Range("Base!N" & LigneMax) = "Non"
  End If

  If Dorure.Value = True Then
  'Ton code ici
  End If

  
End With
Ini 'On lance la réinitialisation du UserForm (Macro en haut du Module)

Fin:

End Sub




Merci je teste cela de suite
 

David44800

XLDnaute Nouveau
Bonjour
as tous merci de votre solution
voila j aimerais aussi ajouter un menu déroulant dans mon menu
exemple dans papier (allimenter par la feuille donnée) un menu de roulant et dans une celulle qu il va cherche le decord en automatique

je sais pas si je me fais bien comprendre exemple dans mon module a la case papier alimenter par ma feuille donnee je sélectionne blanc et va dans ma feuille devis en "C18" "paillette"et en "C17" "blanc" idem en feuille base

merci de votre aide
 

Pièces jointes

  • Copie de 02112016.xls
    72.5 KB · Affichages: 51

David44800

XLDnaute Nouveau
bonjour j ai essayer j ai pas compris lol je suis pas douer
j ai prefaire continuer comme j ai commencer c plus compréhensif pour moi
voici mon fichier j avance a petit pas lol
la j ai plusieurs petit problème

dans ma feuille devis j aimerais que le numero sois celui de la feuille base
dans date de validité plus 30 jour
est quand j en registre jaimerais dans la feuille base son numero soit le lient vers la feuille qui a etais enregistre

merci au personne qui mon deja bien aide dans mon projet
 

Pièces jointes

  • 04-11-2016.xls
    94.5 KB · Affichages: 54

Dranreb

XLDnaute Barbatruc
Bonjour.
Éviter les répétions d'informations en colonnes de natures identiques dans les tableaux de données thésaurisées.
Tant que vous n'aurez pas viré les colonne Q:Z de votre feuille Base, je n'aurai aucune envie de travailler sur votre application.
D'autant plus que dans votre feuille devis vous en avez prévus plus: 6.
Pourquoi d'ailleurs n'y sont elles pas présentées en colonnes de la même façon que dans la feuille Base ?
Vous devriez peut être constituer une base Article, une autre Clients, dont les éléments seraient reconnaissables à leurs heures de créations dedans et serviraient de liens dans un tableau d'articles commandés.
Pareil dans l'userform, bien sûr. Virez les Frame. Un seul jeu de contrôle et un bouton pour ajouter l'article à la commande. Une ListBox pourrait montrer l'ensemble des articles commandés pour celle ci.
 
Dernière édition:

David44800

XLDnaute Nouveau
Bonjour.
Éviter les répétions d'informations en colonnes de natures identiques dans les tableaux de données thésaurisées.
Tant que vous n'aurez pas viré les colonne Q:Z de votre feuille Base, je n'aurai aucune envie de travailler sur votre application.
D'autant plus que dans votre feuille devis vous en avez prévus plus: 6.
Pourquoi d'ailleurs n'y sont elles pas présentées en colonnes de la même façon que dans la feuille Base ?
Vous devriez peut être constituer une base Article, une autre Clients, dont les éléments seraient reconnaissables à leurs heures de créations dedans et serviraient de liens dans un tableau d'articles commandés.
Pareil dans l'userform, bien sûr. Virez les Frame. Un seul jeu de contrôle et un bouton pour ajouter l'article à la commande. Une ListBox pourrait montrer l'ensemble des articles commandés pour celle ci.

bonjour
Dranreb

comme j 'ai dit je ne suis pas un programmeur je fais cella pour une amie

Éviter les répétions d'informations en colonnes de natures identiques dans les tableaux de données thésaurisées.
Que veux tu dire par la ?


Tant que vous n'aurez pas viré les colonne Q:Z de votre feuille Base, je n'aurai aucune envie de travailler sur votre application.
pourquoi Q:Z

D'autant plus que dans votre feuille devis vous en avez prévus plus: 6.
OUI je sais c que j avais pas eu le temps de finir de renommé dans mon userform

Pourquoi d'ailleurs n'y sont elles pas présentées en colonnes de la même façon que dans la feuille Base ?
car elle en a pas besoin dans la base elle aimerai que le numéro dans la Cologne soit un lien qui la ramené au devis fini

Vous devriez peut être constituer une base Article, une autre Clients, dont les éléments seraient reconnaissables à leurs heures de créations dedans et serviraient de liens dans un tableau d'articles commandés.
je comprend pas
Pareil dans l'userform, bien sûr. Virez les Frame. Un seul jeu de contrôle et un bouton pour ajouter l'article à la commande. Une ListBox pourrait montrer l'ensemble des articles commandés pour celle ci.[/QUOTE]
oui mes comme je vous l ai dit je pioche des idées a droite et a gauche

je pensais avoir avancé la sa ma démoralise
merci quand mème
 

Dranreb

XLDnaute Barbatruc
Parce qu'elles font double emploi avec les G: P
Presque impossible avec ce genre d'organisation horizontale de retrouver une commande à partir d'un article qu'elle comporte.
Ça ne me dit toujours pas pourquoi les devis de cette patronne ont une présentation aussi inhabituelle…
Pourquoi ne s'adresse-t-elle pas directement à Excel-Downloads ?
(Ne le ferait elle pas déjà d'ailleurs ? J'ai retrouvé des traces de vos trucs chez une certaine Lydie)
 
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
312 493
Messages
2 088 955
Membres
103 989
dernier inscrit
jralonso