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 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 6114 messages dans 689 sujets

Nous avons 561 membres enregistrés

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

Recherche dans les forums

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


Derniers sujets

» Instants musique
par Berly Mer 18 Juil - 21:18

» 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

» Les Boucles
par Berly Dim 3 Juin - 14:57

» bienvenue a Dengpao
par AdminPVB Jeu 31 Mai - 21:40

» bienvenue a BasMar01 et coucou86
par AdminPVB Lun 28 Mai - 6:31

» Bienvenue à Pralin
par Berly Ven 25 Mai - 21:27

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 

Juillet 2018

LunMarMerJeuVenSamDim
      1
2345678
9101112131415
16171819202122
23242526272829
3031     

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 ]

Provlème avec un code

Partagez
avatar
danpom302
Step_Three_VBA
Step_Three_VBA

Localisation : Québec
Messages : 432
Date d'inscription : 23/09/2013
Age : 67

Résolu Provlème avec un code

Message par danpom302 le Mer 2 Mar - 17:22

Bonjour à tous, Very Happy

Je sollicite votre aide pour corriger un code qui m'a été transmis par un membre de ce forum il y a plusieurs mois.

Problématique : Lorsque j'ajoute à l'aide d'un petit formulaire (User form), une 1ère ressource d'un client à ma feuille Excel 'Registre client', les données du client se collent à partir de la 11e colonne de la ligne du client. Lorsque j'ajoute une 2e ressource, les données de celle-ci devrait se coller à partir de la 17e colonne soit, 6 cellules plus loin mais, les informations de cette 2e ressource se collent à partir de la 13e colonne de la même ligne, écrasant ainsi certaines informations de la première ressource.

Pouvez-vous m'aider s.v.p.?

Voici le code de mon formulaire Ressource.
Code:
'IndexList = ligne à modifier
'colonne est un repère pour la colonne de ressource
Dim c As Control
Private Sub CommandButton1_Click()
Dim DerColonne As Long
Select Case CommandButton1.Caption
Case Is = "Modifier"
With Sheets("Registre clients")
.Unprotect "essai"
For Each txt In Me.Controls
If TypeName(txt) = "TextBox" And txt.Tag <> "0" Then .Cells(IndexList, colonne + CDbl(txt.Tag) - 1).Value = txt.Text
Next
.Protect "essai"
End With
Case Is = "Ajouter"
With Sheets("Registre clients")
.Unprotect "essai"
DerColonne = .Range("A" & IndexList).End(xlToRight).Column + 1
If DerColonne < 11 Then DerColonne = 11

'remplacer la dernière colonne > si plus de 5 ressources ci-dessous
If DerColonne > 35 Then MsgBox "Impossible d'ajouter cette ressource supplémentaire pour ce client", vbInformation: Exit Sub

 .Range("I" & IndexList).Value = "CANADA"

For Each txt In Me.Controls
If TypeName(txt) = "TextBox" And txt.Tag <> "0" Then .Cells(IndexList, DerColonne + CDbl(txt.Tag) - 1).Value = txt.Text
Next
.Protect "essai"
End With
Case Is = "Supprimer"
With Sheets("Registre clients")
.Unprotect "essai"
For Each txt In Me.Controls
If TypeName(txt) = "TextBox" And txt.Tag <> "0" Then
.Cells(IndexList, colonne + CDbl(txt.Tag) - 1).Value = ""
If .Cells(IndexList, colonne + CDbl(txt.Tag) - 1).Value = 0 Then .Cells(IndexList, colonne + CDbl(txt.Tag) - 1).Value = ""
End If

Next
.Protect "essai"
End With
End Select
Formulaire.CbxNom = ""
Me.Hide
End Sub

Private Sub UserForm_Initialize()
Dim i As Byte
RessourceInfo = Array(Formulaire.ListView1.SelectedItem, _
Formulaire.ListView1.SelectedItem.ListSubItems(1), _
Formulaire.ListView1.SelectedItem.ListSubItems(2), _
Formulaire.ListView1.SelectedItem.ListSubItems(3), _
Formulaire.ListView1.SelectedItem.ListSubItems(4), _
Formulaire.ListView1.SelectedItem.ListSubItems(5), _
Formulaire.ListView1.SelectedItem.ListSubItems(6))
Dim c As Control
For Each c In Me.Controls
If TypeName(c) = "Frame" Then i = i + 1: c.Caption = ColList(i): Controls("TextBox" & i).Tag = i: Controls("TextBox" & i).Text = RessourceInfo(i):
Next

End Sub

Merci pour votre aide,

Dan
avatar
AdminPVB
Admin
Admin

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

Résolu Re: Provlème avec un code

Message par AdminPVB le Mer 2 Mar - 20:33

Bonjour Danpom302,
lors de l'ajout des premières données,les cellules des colonnes 13,etc... sont elles vides?
serait il possible de mettre le lien du fil précédent afin de voir de quel fichier parle-t-on.
Merci et 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
danpom302
Step_Three_VBA
Step_Three_VBA

Localisation : Québec
Messages : 432
Date d'inscription : 23/09/2013
Age : 67

Résolu Re: Provlème avec un code

Message par danpom302 le Mer 2 Mar - 22:52

Bonjour adminPVB,

Les cellules contiennent des informations de la première ressource soit de la colonne 11 à 16. 

Voici, j'ai deux formulaires le premier servant à choisir l'action désirée. Le deuxième servant à entrer jusqu'à 5 ressources.

Je transmet un fichier Excel avec deux captures d'écran, une le formulaire "Formulaire" (J'aurais du changer son nom pour Fiche client) et la deuxième, le formulaire "Ressource".

Je joins également le code du formulaire "Formulaire".

Code:
Private Sub CbxNom_Change()
If Me.TxtNom.Visible = False Then
cls
Dim txt As Control
Dim NUM As Integer: NUM = 11
IndexList = CbxNom.ListIndex + 1
If IndexList = 0 Then Exit Sub
With Sheets("Registre clients")
.Unprotect "essai"
For Each txt In Me.Controls
If TypeName(txt) = "TextBox" Then
If CDbl(txt.Tag) = 2 Then txt = .Cells(IndexList, CDbl(txt.Tag)).Value Else: txt = .Cells(IndexList, CDbl(txt.Tag) + 2).Value
End If
Next
End With
With Sheets("Registre clients")
'ajout élément première colonne
For j = 1 To 5 'incrémentation si plus de ressources 5 contacts
Me.ListView1.ListItems.Add , , "C" & j
'ajout élément autre colonne
Me.ListView1.ListItems(j).ListSubItems.Add , , .Cells(IndexList, NUM).Text  ' NOM
Me.ListView1.ListItems(j).ListSubItems.Add , , .Cells(IndexList, NUM + 1).Text 'TEL
Me.ListView1.ListItems(j).ListSubItems.Add , , .Cells(IndexList, NUM + 2).Text 'POST
Me.ListView1.ListItems(j).ListSubItems.Add , , .Cells(IndexList, NUM + 3).Text 'TELECOP
Me.ListView1.ListItems(j).ListSubItems.Add , , .Cells(IndexList, NUM + 4).Text 'CELLULAIRE
Me.ListView1.ListItems(j).ListSubItems.Add , , .Cells(IndexList, NUM + 5).Text 'COURRIEL
NUM = NUM + 6
Next
If Me.ListView1.ListItems.Count <> 0 Then AccesBtnTrue Else AccesBtnFalse
.Protect "essai"
End With
End If
End Sub
Private Sub CmdAjouterRessource_Click()
Ressource.CommandButton1.Caption = CmdAjouterRessource.Caption
Ressource.Show
End Sub
Private Sub CmdModifierRessource_Click()
colonne = ((Me.ListView1.SelectedItem.Index - 1) * 6) + 11
Ressource.CommandButton1.Caption = CmdModifierRessource.Caption
Ressource.Show
End Sub
Private Sub CmdNouveauClient_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
If modif = True Then
CmdNouveauClient.ControlTipText = "Enregistrement de la modification du client"
Else:
CmdNouveauClient.ControlTipText = "Ajout du client au registre Clients"
End If
End Sub
Private Sub CmdRetour_Click()
CmdNouveauClient.Caption = "Nouveau": CmdRetour.Visible = False: TxtNom.Visible = False: Me.CbxNom.Visible = True: modif = False
End Sub
Private Sub CmdNouveauClient_Click()
If CmdNouveauClient.Caption = "Nouveau" Then CmdNouveauClient.Caption = "Enregistrer": TxtNom.Visible = True: Me.CbxNom.Visible = False: cls: CmdRetour.Visible = True: Exit Sub
If CmdNouveauClient.Caption = "Enregistrer" Then CmdNouveauClient.Caption = "Nouveau": CmdRetour.Visible = False
Call AjoutClient
Me.CbxNom.List = Sheets("Registre clients").[D:D].Value
End Sub
Private Sub CmdRetour_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
If modif = True Then
CmdRetour.ControlTipText = "Annuler la modification du client"
Else:
CmdRetour.ControlTipText = "Annuler ajout nouveau client"
End If
End Sub
Private Sub CmdSupprimerRessource_Click()
colonne = ((Me.ListView1.SelectedItem.Index - 1) * 6) + 11
Ressource.CommandButton1.Caption = CmdSupprimerRessource.Caption
Ressource.Show
End Sub
Private Sub UserForm_Initialize()
ListView1.View = lvwReport
ColList = Array("Ref", "Contact", "Téléphone", "Poste", "Télécopieur", "Cellulaire", "Courriel")
Me.CbxNom.List = Sheets("Registre clients").[D:D].Value
DrLigne = Sheets("Registre clients").Range("C1").End(xlDown).Row + 1
For i = 0 To UBound(ColList)
If i = 0 Then
ListView1.ColumnHeaders.Add , , ColList(i), 25
Else:
ListView1.ColumnHeaders.Add , , ColList(i), 92
End If
Next
AccesBtnFalse
End Sub
Sub cls()
ListView1.ListItems.Clear
Dim c As Control
For Each c In Me.Controls
If TypeName(c) = "TextBox" Then c = Null
Next
AccesBtnFalse
End Sub

Sub AjoutClient()
Dim LaDate As String
LaDate = Replace(Me.TxtDate.Value, "/", " ")
If modif = True Then
With Sheets("Registre clients")
.Unprotect "essai"
.Range("C" & IndexList).Value = Format(LaDate, "DD MMM YYYY") 'Date
.Range("D" & IndexList).Value = StrConv(Me.TxtNom.Text, vbUpperCase) 'Client
.Range("E" & IndexList).Value = StrConv(Me.TxtAdresse.Text, vbUpperCase) 'Adresse
.Range("F" & IndexList).Value = StrConv(Me.TxtVille.Text, vbUpperCase) 'Ville vbProperCase
.Range("G" & IndexList).Value = StrConv(Me.TxtProv.Text, vbUpperCase) 'Prov.
.Range("H" & IndexList).Value = StrConv(Me.TxtPostal.Text, vbUpperCase) 'Code postal
.Range("I" & IndexList).Value = StrConv(Me.TxtPays.Text, vbUpperCase) 'Pays
.Range("J" & IndexList).Value = StrConv(Me.TextPaiement.Text, vbUpperCase) 'Condition de paiement
.Range("AO" & IndexList).Value = UCase(Left(Me.TxtNom.Text, 3))
.Protect "essai"
End With
Else:
With Sheets("Registre clients")
.Unprotect "essai"
.Range("C" & DrLigne).Value = Format(LaDate, "DD MMM YYYY") 'Date
.Range("D" & DrLigne).Value = StrConv(Me.TxtNom.Text, vbUpperCase) 'Client
.Range("E" & DrLigne).Value = StrConv(Me.TxtAdresse.Text, vbUpperCase) 'Adresse
.Range("F" & DrLigne).Value = StrConv(Me.TxtVille.Text, vbUpperCase) 'Ville
.Range("G" & DrLigne).Value = StrConv(Me.TxtProv.Text, vbUpperCase) 'Prov.
.Range("H" & DrLigne).Value = StrConv(Me.TxtPostal.Text, vbUpperCase) 'Code postal
.Range("I" & DrLigne).Value = StrConv(Me.TxtPays.Text, vbUpperCase) 'Pays
.Range("J" & DrLigne).Value = StrConv(Me.TextPaiement.Text, vbUpperCase) 'Condition de paiement
.Range("AO" & DrLigne).Value = UCase(Left(Me.TxtNom.Text, 3))

ActiveWorkbook.Worksheets("Registre clients").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("Registre clients").Sort.SortFields.Add Key:=Range( _
"D2:D1000"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
xlSortNormal
With ActiveWorkbook.Worksheets("Registre clients").Sort
.SetRange Range("A1:AS1001")
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
Range("A1").Select
Range("A2").Select
Sheets("Registre clients").Protect "lune666"
TxtNom.Visible = False
Me.CbxNom.Visible = True
CmdNouveauClient.Caption = "Nouveau"
CmdRetour.Visible = False
DrLigne = DrLigne + 1
MsgBox "Le client a bien été ajouté au registre clients ", vbInformation, "Enregistrement d'un client"
modif = False
cls
TxtPays.Text = "CANADA"
End With
End If
End Sub
Sub AccesBtnTrue()
Me.CmdAjouterRessource.Enabled = True
Me.CmdModifierRessource.Enabled = True
Me.CmdSupprimerRessource.Enabled = True
End Sub
Sub AccesBtnFalse()
Me.CmdAjouterRessource.Enabled = False
Me.CmdModifierRessource.Enabled = False
Me.CmdSupprimerRessource.Enabled = False
End Sub
Private Sub CommandButton1_Click()
'
' De Fiche client à Instruction
'
' Ne pas raffraichir l'écran
    Application.ScreenUpdating = False
    Sheets("Instruction").Visible = True
    Sheets("Entreprise").Visible = False

End SubPrivate Sub CbxNom_Change()
If Me.TxtNom.Visible = False Then
cls
Dim txt As Control
Dim NUM As Integer: NUM = 11
IndexList = CbxNom.ListIndex + 1
If IndexList = 0 Then Exit Sub
With Sheets("Registre clients")
.Unprotect "essai"
For Each txt In Me.Controls
If TypeName(txt) = "TextBox" Then
If CDbl(txt.Tag) = 2 Then txt = .Cells(IndexList, CDbl(txt.Tag)).Value Else: txt = .Cells(IndexList, CDbl(txt.Tag) + 2).Value
End If
Next
End With
With Sheets("Registre clients")
'ajout élément première colonne
For j = 1 To 5 'incrémentation si plus de ressources 5 contacts
Me.ListView1.ListItems.Add , , "C" & j
'ajout élément autre colonne
Me.ListView1.ListItems(j).ListSubItems.Add , , .Cells(IndexList, NUM).Text  ' NOM
Me.ListView1.ListItems(j).ListSubItems.Add , , .Cells(IndexList, NUM + 1).Text 'TEL
Me.ListView1.ListItems(j).ListSubItems.Add , , .Cells(IndexList, NUM + 2).Text 'POST
Me.ListView1.ListItems(j).ListSubItems.Add , , .Cells(IndexList, NUM + 3).Text 'TELECOP
Me.ListView1.ListItems(j).ListSubItems.Add , , .Cells(IndexList, NUM + 4).Text 'CELLULAIRE
Me.ListView1.ListItems(j).ListSubItems.Add , , .Cells(IndexList, NUM + 5).Text 'COURRIEL
NUM = NUM + 6
Next
If Me.ListView1.ListItems.Count <> 0 Then AccesBtnTrue Else AccesBtnFalse
.Protect "essai"
End With
End If
End Sub
Private Sub CmdAjouterRessource_Click()
Ressource.CommandButton1.Caption = CmdAjouterRessource.Caption
Ressource.Show
End Sub
Private Sub CmdModifierRessource_Click()
colonne = ((Me.ListView1.SelectedItem.Index - 1) * 6) + 11
Ressource.CommandButton1.Caption = CmdModifierRessource.Caption
Ressource.Show
End Sub
Private Sub CmdNouveauClient_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
If modif = True Then
CmdNouveauClient.ControlTipText = "Enregistrement de la modification du client"
Else:
CmdNouveauClient.ControlTipText = "Ajout du client au registre Clients"
End If
End Sub
Private Sub CmdRetour_Click()
CmdNouveauClient.Caption = "Nouveau": CmdRetour.Visible = False: TxtNom.Visible = False: Me.CbxNom.Visible = True: modif = False
End Sub
Private Sub CmdNouveauClient_Click()
If CmdNouveauClient.Caption = "Nouveau" Then CmdNouveauClient.Caption = "Enregistrer": TxtNom.Visible = True: Me.CbxNom.Visible = False: cls: CmdRetour.Visible = True: Exit Sub
If CmdNouveauClient.Caption = "Enregistrer" Then CmdNouveauClient.Caption = "Nouveau": CmdRetour.Visible = False
Call AjoutClient
Me.CbxNom.List = Sheets("Registre clients").[D:D].Value
End Sub
Private Sub CmdRetour_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
If modif = True Then
CmdRetour.ControlTipText = "Annuler la modification du client"
Else:
CmdRetour.ControlTipText = "Annuler ajout nouveau client"
End If
End Sub
Private Sub CmdSupprimerRessource_Click()
colonne = ((Me.ListView1.SelectedItem.Index - 1) * 6) + 11
Ressource.CommandButton1.Caption = CmdSupprimerRessource.Caption
Ressource.Show
End Sub
Private Sub UserForm_Initialize()
ListView1.View = lvwReport
ColList = Array("Ref", "Contact", "Téléphone", "Poste", "Télécopieur", "Cellulaire", "Courriel")
Me.CbxNom.List = Sheets("Registre clients").[D:D].Value
DrLigne = Sheets("Registre clients").Range("C1").End(xlDown).Row + 1
For i = 0 To UBound(ColList)
If i = 0 Then
ListView1.ColumnHeaders.Add , , ColList(i), 25
Else:
ListView1.ColumnHeaders.Add , , ColList(i), 92
End If
Next
AccesBtnFalse
End Sub
Sub cls()
ListView1.ListItems.Clear
Dim c As Control
For Each c In Me.Controls
If TypeName(c) = "TextBox" Then c = Null
Next
AccesBtnFalse
End Sub

Sub AjoutClient()
Dim LaDate As String
LaDate = Replace(Me.TxtDate.Value, "/", " ")
If modif = True Then
With Sheets("Registre clients")
.Unprotect "essai"
.Range("C" & IndexList).Value = Format(LaDate, "DD MMM YYYY") 'Date
.Range("D" & IndexList).Value = StrConv(Me.TxtNom.Text, vbUpperCase) 'Client
.Range("E" & IndexList).Value = StrConv(Me.TxtAdresse.Text, vbUpperCase) 'Adresse
.Range("F" & IndexList).Value = StrConv(Me.TxtVille.Text, vbUpperCase) 'Ville vbProperCase
.Range("G" & IndexList).Value = StrConv(Me.TxtProv.Text, vbUpperCase) 'Prov.
.Range("H" & IndexList).Value = StrConv(Me.TxtPostal.Text, vbUpperCase) 'Code postal
.Range("I" & IndexList).Value = StrConv(Me.TxtPays.Text, vbUpperCase) 'Pays
.Range("J" & IndexList).Value = StrConv(Me.TextPaiement.Text, vbUpperCase) 'Condition de paiement
.Range("AO" & IndexList).Value = UCase(Left(Me.TxtNom.Text, 3))
.Protect "lune666"
End With
Else:
With Sheets("Registre clients")
.Unprotect "essai"
.Range("C" & DrLigne).Value = Format(LaDate, "DD MMM YYYY") 'Date
.Range("D" & DrLigne).Value = StrConv(Me.TxtNom.Text, vbUpperCase) 'Client
.Range("E" & DrLigne).Value = StrConv(Me.TxtAdresse.Text, vbUpperCase) 'Adresse
.Range("F" & DrLigne).Value = StrConv(Me.TxtVille.Text, vbUpperCase) 'Ville
.Range("G" & DrLigne).Value = StrConv(Me.TxtProv.Text, vbUpperCase) 'Prov.
.Range("H" & DrLigne).Value = StrConv(Me.TxtPostal.Text, vbUpperCase) 'Code postal
.Range("I" & DrLigne).Value = StrConv(Me.TxtPays.Text, vbUpperCase) 'Pays
.Range("J" & DrLigne).Value = StrConv(Me.TextPaiement.Text, vbUpperCase) 'Condition de paiement
.Range("AO" & DrLigne).Value = UCase(Left(Me.TxtNom.Text, 3))

ActiveWorkbook.Worksheets("Registre clients").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("Registre clients").Sort.SortFields.Add Key:=Range( _
"D2:D1000"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
xlSortNormal
With ActiveWorkbook.Worksheets("Registre clients").Sort
.SetRange Range("A1:AS1001")
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
Range("A1").Select
Range("A2").Select
Sheets("Registre clients").Protect "lune666"
TxtNom.Visible = False
Me.CbxNom.Visible = True
CmdNouveauClient.Caption = "Nouveau"
CmdRetour.Visible = False
DrLigne = DrLigne + 1
MsgBox "Le client a bien été ajouté au registre clients ", vbInformation, "Enregistrement d'un client"
modif = False
cls
TxtPays.Text = "CANADA"
End With
End If
End Sub
Sub AccesBtnTrue()
Me.CmdAjouterRessource.Enabled = True
Me.CmdModifierRessource.Enabled = True
Me.CmdSupprimerRessource.Enabled = True
End Sub
Sub AccesBtnFalse()
Me.CmdAjouterRessource.Enabled = False
Me.CmdModifierRessource.Enabled = False
Me.CmdSupprimerRessource.Enabled = False
End Sub
Private Sub CommandButton1_Click()
'
' De Fiche client à Instruction
'
' Ne pas raffraichir l'écran
    Application.ScreenUpdating = False
    Sheets("Instruction").Visible = True
    Sheets("Entreprise").Visible = False

End Sub


J'ai beau inspecter chaque ligne des deux codes mais je ne peux pas voir où est le problème. Je dois repasser par dessus l'erreur sans la voir.  Crying or Very sad

Merci pour ton aide,

Dan
Fichiers joints
Formulaires.xlsx
Vous n'avez pas la permission de télécharger les fichiers joints.
(39 Ko) Téléchargé 5 fois
avatar
AdminPVB
Admin
Admin

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

Résolu Re: Provlème avec un code

Message par AdminPVB le Jeu 3 Mar - 21:02

Bonsoir,
As tu changé quelques choses au code depuis cette erreur,ou dans les propriétés des contrôles ?
les propriétés Tag par exemple.
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
danpom302
Step_Three_VBA
Step_Three_VBA

Localisation : Québec
Messages : 432
Date d'inscription : 23/09/2013
Age : 67

Résolu Re: Provlème avec un code

Message par danpom302 le Ven 4 Mar - 2:15

Bonjour adminPVB,

Aucun changement au code soumis. J'ai amélioré le côté apparence des onglets, ajouté des boutons dans le but de limiter l'accès aux onglets, et ils sont tous verrouillés. Les Macros le sont également.

Mon copain pour qui j'ai conçu ce petit programme Excel, réside à 2 heures de chez moi. J'utilise donc TeamViewer lorsqu'il a besoin d'aide, car il est vraiment nul (Selon ses propres mots) en informatique et il ne comprend pas grand chose dans ce programme sauf pour entrer des donnés dans les différents champs. Il utilise Office 2016 et moi, Office 2010. J'avoue que depuis qu'il a migré vers 2016, à chaque fois qu'il utilise le programme, soit 2 fois par mois, il me téléphone parce qu'il a un problème. Dernièrement, dans un de mes codes :

Code:
ActiveSheet.Paste Link:=True

  Celui-ci bloquait alors qu'avant nous avions aucun problème. J'ai remplacé le L majuscule au mot link par un l minuscule et le tout fonctionne bien maintenant. Le formatage des cellules et/ou des colonnes change d'une fois à l'autre tel, formaté en nombre ou en date et remplacé par un formatage en $ canadien français . Bizarre. Rolling Eyes On dirait qu'il y a un petit comique dans son ordinateur qui s'amuse à modifier des codes ou des cellules.

Nouveau code :
Code:
ActiveSheet.Paste link:=True

Je n'ai pas été en mesure de trouver le code originale (Lien)qui m'avait été transmis, dans tous mes posts. J'ai peut être mal regardé. Le tout date de plusieurs mois.

Merci pour ton aide,

Dan
avatar
AdminPVB
Admin
Admin

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

Résolu Re: Provlème avec un code

Message par AdminPVB le Ven 4 Mar - 21:03

Bonjour,
Dernier_formulaire_novembre
voici ce que j'ai en stock.
je ne peux pas trouver le soucis sans information complémentaires.
Lors du calcul de la dernière colonne il faudrait passer en mode pas à pas.
c'est tu faire cette manipulation ?
si pas regarde la vidéo que j'ai fait sur Youtube.
https://youtu.be/VO8-xUkb0Eg
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
danpom302
Step_Three_VBA
Step_Three_VBA

Localisation : Québec
Messages : 432
Date d'inscription : 23/09/2013
Age : 67

Résolu Re: Provlème avec un code

Message par danpom302 le Sam 5 Mar - 16:34

Bonjour adminPVB,

Merci pour ta réponse. Impossible pour moi d'afficher Dernier_formulaire_novembre. Mon logiciel Anti-Malware le bloque. Peu importe, Mon problème est réglé. J'avais une 5e ressource d'entrée dans le registre ce qui causait le problème.

Le tout fonctionne bien maintenant.

Merci encore pour ton aide, toujours appréciée.

Dan

Contenu sponsorisé

Résolu Re: Provlème avec un code

Message par Contenu sponsorisé


    La date/heure actuelle est Ven 20 Juil - 18:32