> Tous les forums > Forum Bureautique
 Écrire sur un classeur ferméSujet résolu
Ajouter un message à la discussion
Pages : [1] 2 ... Fin
Page 1 sur 2 [Fin]
ronibo
  Posté le 29/07/2013 @ 23:26 
Aller en bas de la page 
Petit astucien

Bonjour le forum,

J'aimais écrire sur un classeur fermer.

Je détail mon problème, je possède de deux fichiers "facture" et "client"
Sur le fichier facture il y a un USF qui permet de saisir des fiches clients

Et sur le fichier "clients" se trouve la liste de mes clients. Ce fichier est dans le répertoire c:/

J'aimerais que lorsque que je rentre (j'ajoute) des données depuis USF situé dans le classeur "facture" j'aimerais qu'ils se mettent automatiquement dans le classeur "Clients" sachant que se fichier sera fermé.

Mon but est de pouvoir sélectionner un client depuis cette liste (classeur "clients") grâce a une liste déroulante

Merci a vous pour votre aide

À bientôt

Facture : http://cjoint.com/?CGDxyAfVLP6

Clients : http://cjoint.com/?CGDxzBO92kN

Publicité
denewton
 Posté le 29/07/2013 à 23:59 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Astucien

Bonjour,

Le fichier client serait-il la recopie de l'onglet "client" du ficher facture ?

ordialement

Bertrand

ronibo
 Posté le 30/07/2013 à 00:24 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien

Salut denewton,

merci de te pencher sur mon problème :)

Non il faut le supprimer, je veux travailler seulement avec le fichier qui se trouve dans c:

Et grâce a se fichier sélectionner un client avec une liste déroulante

Mytå
 Posté le 30/07/2013 à 00:46 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien

Salut le Forum

Différentes méthode de Frédéric Sigonneau

Lien : Lire et écrire dans un classeur fermé

Mytå

ronibo
 Posté le 30/07/2013 à 00:52 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien

Myta merci pour le lien :)

Je débute en vba, et je c'est pasq trop comment procédé

ronibo
 Posté le 30/07/2013 à 19:09 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien

Bonjour le fil,

J'ai en fin réussi à avoir un truck comme je le veux.

Par contre concernant mon USF, j'aimerais modifier quelques truck, j'ai essayé mais j'ai pas réussi

Je vous mets une capture ci joint,

Voici les nouvelles version ;

Facture : http://cjoint.com/?CGEtlTdYzAi

Clients : http://cjoint.com/?CGEtm0zQn1f

Si quelqu'un peut jeter un oeil, ça serai sympa,

Merci

a+



Modifié par ronibo le 30/07/2013 19:13
corinthien
 Posté le 30/07/2013 à 19:55 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien

Bonjour le forum…

@ ronibo, voila le code pour le fond rouge du Nom de la société

Private Sub BAjouter_Click()
Dim Ctrl As Control
Dim DerLigne As Long
If Trim(Me.TNom) = "" Then
Me.TNom.BackColor = vbRed
MsgBox "Veuilez renseigner le nom de la société"
Exit Sub
End If
Application.ScreenUpdating = False
With Sheets("Clients")
DerLigne = .Range("A" & Rows.Count).End(xlUp).Row
For Each Ctrl In Me.Controls
If TypeName(Ctrl) = "TextBox" Then .Range("A" & DerLigne).Offset(1, Ctrl.Tag) = Ctrl
Next
Trier
.Visible = xlSheetVisible
.Copy
.Visible = xlSheetVeryHidden
End With
With ActiveWorkbook
Application.DisplayAlerts = False
.SaveAs Filename:=Chemin & Fichier, _
FileFormat:=xlOpenXMLWorkbookMacroEnabled, CreateBackup:=False
.Close
End With
Me.TNom.BackColor = vbWhite
Unload Me
End Sub

Private Sub TNom_Change()
If Me.TNom.BackColor = vbRed Then Me.TNom.BackColor = vbWhite
TNom = UCase(TNom)
End Sub


Pour le reste, un peu de patience…

corinthien
 Posté le 30/07/2013 à 20:32 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien

Pour le numéro de téléphone :


Private Sub UserForm_Initialize()
Me.TNuméroTéléphone.MaxLength = 10
End Sub

Mytå
 Posté le 30/07/2013 à 20:42 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien

Re le Forum

Juste pour dire que Banzai64 à déjà fourni des solutions sur un autre Forum,

et moi je n'aime pas travailler en double pour rien.

Surtout quand le demandeur ne fait même pas entione du multi-postage.

Fin du suivi de la discussion.

Mytå



Modifié par Mytå le 30/07/2013 20:45
Publicité
ronibo
 Posté le 30/07/2013 à 20:47 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien

re,

Oui, j'ai fait une demande sur un autre forum

ce sont les points que mon cher ami Banzai64 n'a pas reussi a faire.

C'est pour ça que j'ai demandé de l'aide ici, il n'y a pas de double

corinthien
 Posté le 30/07/2013 à 20:58 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien

Pour l'adresse mail :

Private Sub TEmail_BeforeUpdate(ByVal Cancel As MSForms.ReturnBoolean)
If Me.TEmail.Value <> "" Then Me.TEmail.Value = UCase(Left((Me.TEmail.Value), 1)) & LCase(Right(Me.TEmail.Value, Len(Me.TEmail.Value) - 1))
End Sub


Supprimer

Private Sub TEmail_Change()
'If Me.TEmail <> "" Then Me.TEmail = Application.Proper(Me.TEmail)
End Sub



Modifié par corinthien le 30/07/2013 21:10
corinthien
 Posté le 30/07/2013 à 21:26 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien

C'est sympa, pas un mot sur les réponses, à croire que ça ne t'intéresse pas et bien moi non plus…

ronibo
 Posté le 30/07/2013 à 23:47 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien

Excuse moi corinthien je viens de rentrer chez moi,

Je teste tot ça,

Merci pour tout ces code, et merci pour le temps que tu m'as accordé :)

a+

ronibo
 Posté le 31/07/2013 à 00:10 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien

Re,

Je viens de tout tester,

Pour le texbox "Nom" c'est parfait, ça me convient me convient amplement :)

Concernant email : rien ne change (me met pas la majuscule de la première lettre)

Pour le téléphone, c'est bon, mais j'aimerais que les espaces se mettent en même temps que la saisie, c'est possible?

Voila je pense que j'ai tout dis :)

Merci encore pour ton aide corinthien puis désolé si je t'ai répondu en retard :(

vieuxmonsieur
 Posté le 31/07/2013 à 08:51 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Astucien

bonjour,

essai :

Private Sub TextBox1_Change() 'Mettre le bon nom de TextBox
Dim Initiale As String, Reste As String
If Len(TextBox1) > 1 Then
Initiale = UCase(Left(TextBox1, 1))
Reste = LCase(Right(TextBox1, Len(TextBox1) - 1))
TextBox1 = Initiale & Reste
End If
End Sub

corinthien
 Posté le 31/07/2013 à 12:36 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien

@ronibo

tu peux le mettre sur cet événement :

Private Sub TEmail_Change()
If Me.TEmail.Value <> "" Then Me.TEmail.Value = UCase(Left((Me.TEmail.Value), 1)) & LCase(Right(Me.TEmail.Value, Len(Me.TEmail.Value) - 1))
'If Me.TEmail <> "" Then Me.TEmail = Application.Proper(Me.TEmail)
End Sub



Modifié par corinthien le 31/07/2013 12:41
corinthien
 Posté le 31/07/2013 à 13:23 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien

@ronibo, pour le téléphone :

Private Sub TNuméroTéléphone_Change()
Select Case Len(Me.TNuméroTéléphone)
Case 2, 5, 8, 11
Me.TNuméroTéléphone.Value = Me.TNuméroTéléphone.Value & " "
End Select
End Sub


et modifier

Private Sub UserForm_Initialize()
Me.TNuméroTéléphone.MaxLength = 14
End Sub

pour le mail :

Private Sub TEmail_Change()
If Me.TEmail.Value <> "" Then Me.TEmail.Value = UCase(Left((Me.TEmail.Value), 1)) & LCase(Right(Me.TEmail.Value, Len(Me.TEmail.Value) - 1))
End Sub



Modifié par corinthien le 31/07/2013 13:31
Publicité
ronibo
 Posté le 31/07/2013 à 14:16 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien

Bonjour,

Merci à vous deux pour les codes,

@vieuxmonsieur : je teste ça de suite, mais je me demande c'est pour quel texbox?

@corinthien : Merci pour les code, exactement s'que je voulais ;)

Il me manque plus que mon problème avec le texbox adresse, si quelqu'un à une idée, il est le bienvenu :)

A bientot

vieuxmonsieur
 Posté le 31/07/2013 à 14:27 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Astucien

re,

pour mettre en majuscule la premiere lettre.

a toi d'adapter le TextBox ou de mettre dans ta TextBox le code :

Dim Initiale As String, Reste As String
If Len(TextBox1) > 1 Then
Initiale = UCase(Left(TextBox1, 1))
Reste = LCase(Right(TextBox1, Len(TextBox1) - 1))
TextBox1 = Initiale & Reste
End If


corinthien
 Posté le 31/07/2013 à 16:12 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien

@ronibo, voila le code pour remplacer tous les mots que tu veux dans une chaîne de caratères, pour voir le résultat avec Debug.Print, il faut appuyer sur Ctrl+G

Sub Test_Replace()

a = "10 AVeNue Du GénÉral De GaULe, ROUTE dU L'PLAce D' S'"

Debug.Print a ' a supprimer quand tu l'auras intégré dans ton code

a = Application.Proper(a) ' pour qu'il ne traine pas de majuscule dans un mot

c = Array("du", "avenue", "place", "route", "d'", "l'") ' ajoute les mots que tu veux dans la ligne

For r = 0 To UBound(c)

a = Replace(a, c(r), LCase(c(r)), , , vbTextCompare)

Next

Debug.Print a ' a supprimer quand tu l'auras intégré dans ton code

End Sub



Modifié par corinthien le 31/07/2013 16:30
ronibo
 Posté le 31/07/2013 à 23:22 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien

Bonsoir le fil,

@vieuxmonsieur : merci pour le code, je l'adapterais avec mes texbox :)

@corinthien : Merci pour le code mais j'ai rien compris lol,

1. je le mets ou cet code, en module? ou en TAdresse (Texbox)

2. Debug.Print c'est quoi?

3. Je dois procéder comment pour installer ce code?

Merci :)

A bientot

ronibo
 Posté le 01/08/2013 à 10:48 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien

Bonjour le forum :)

Après plusieurs essaies, je constate que je peux pas saisir de lettre (pour saisir la ville) dans le texbox CodePostalVille

Puis je voulais demander, si c'était possible de bloquer la saisir des lettre dans le texbox Téléphone?

Merci et bonne journée a vous tous :)

vieuxmonsieur
 Posté le 01/08/2013 à 11:25 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Astucien

bonjour,

ne pense-tu pas qu'il serait plus judicieux de mettre un Combobx pour les CP et 1 Tbx pour les villes ...



Modifié par vieuxmonsieur le 01/08/2013 11:26
corinthien
 Posté le 01/08/2013 à 19:06 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien

Bonjour à toutes et tous.

@ronibo, place le code sur Exit de TAdresse comme ça :

Private Sub TAdresse_Exit(ByVal Cancel As MSForms.ReturnBoolean)
Dim A As String, C, R As Integer
A = Me.TAdresse.Value
' c'est pour qu'il ne traine pas de majuscule dans un mot
A = Application.Proper(A)
' ajoute les mots que tu veux dans la ligne en-dessous
C = Array("du", "avenue", "place", "route", "d'", "l'")
For R = 0 To UBound(C)
A = Replace(A, C(R), LCase(C(R)), , , vbTextCompare)
Next
Me.TAdresse.Value = A
End Sub

Debug.Print, c'est quand tu démarres une macro dans VBE avec la fenêtre Exécution.

Pour le CP, c'est normal, tu as :

Private Sub TCodePostalVille_Exit(ByVal Cancel As MSForms.ReturnBoolean)
If Me.TCodePostalVille <> "" And Len(Trim(Me.TCodePostalVille)) <> 5 Then
MsgBox "Le code postal est incorrect"
Cancel = True
End If
End Sub

Pour bloquer les lettres de TNuméroTéléphone, je te ferais ça ce soir.

A+



Modifié par corinthien le 01/08/2013 20:04
corinthien
 Posté le 01/08/2013 à 19:17 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien

Pour le téléphone, ajouter cette procédure :

Private Sub TNuméroTéléphone_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
If Not (KeyAscii >= 48 And KeyAscii <= 57) Then
KeyAscii = 0
End If
End Sub

ronibo
 Posté le 01/08/2013 à 19:59 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien

Bonjour à tous et à toutes,

Vieuxmonsieur : Mer ci pour la proposition :), je réfléchi à tout ça et je te redis tout ça :)

corinthien : Merci pour les macro :)

Pour le texbox adresse c'est bon j'ai compris le principe :)

Le code postal, c'est ok aussi ;)

Par contre, le téléphone, il me met plus les espaces entre les numéro :)

A bientot

Publicité
Pages : [1] 2 ... Fin
Page 1 sur 2 [Fin]

Vous devez être connecté pour participer à la discussion.
Cliquez ici pour vous identifier.

Vous n'avez pas de compte ? Créez-en un gratuitement !
Recevoir PC Astuces par e-mail


La Lettre quotidienne +226 000 inscrits
Avec l'actu, des logiciels, des applis, des astuces, des bons plans, ...

Les bonnes affaires
Une fois par semaine, un récap des meilleurs offres.

Les fonds d'écran
De jolies photos pour personnaliser votre bureau. Une fois par semaine.

Les nouveaux Bons Plans
Des notifications pour ne pas rater les bons plans publiés sur le site.

Les bons plans du moment PC Astuces

Tous les Bons Plans
59,95 €Routeur TP-Link Archer AX10 WiFi 6 à 59,95 €
Valable jusqu'au 28 Juillet

Amazon fait une promotion sur le routeur TP-Link Archer AX10 WiFi 6 qui passe à 59,95 € au lieu de 80 €. La livraison est gratuite. L’Archer AX10 de TP-Link embarque la technologie WiFi 6 (802.11ax) qui permet de passer à la vitesse supérieure (1.5 Gbps) tout en étant rétro-compatible avec les normes WiFi 802.11a/b/g/n/ac. Doté de 4 antennes Wi-Fi et capable de prendre en charge la technologie 1024 QAM et les canaux 160 MHz, l'Archer AX10 est aussi pourvu d'une prise WAN 1 GbE et de 4 ports Ethernet Gigabit. Les nombreux appareils connectés peuvent ainsi bénéficier de la meilleure connexion possible en toute fluidité.


> Voir l'offre
35,95 €Compresseur portable autonome Xiaomi Mija à 35,95 €
Valable jusqu'au 30 Juillet

Amazon fait une promotion sur le compresseur portable autonome Xiaomi Mija qui passe à 35,95 € livré gratuitement. Ce compresseur à emporter facilement avec vous comporte un écran (où vous pourrez choisir la pression à atteindre en PSI ou BAR) une batterie de 2000 mA et vous permettra de gonfler vos jouets (41 pièces avec une charge), pneus de vélo, de trotinette, de moto (6 pneus avec une charge) et même de voiture (5 pneus avec une charge) facilement.

Le câble est accompagné d'un embout pour valve Schrader et un adapteur Presta et une aiguille sont fournis. Le compresseur se recharge via une prise Micro USB.


> Voir l'offre
71,88 €Kit de 16 Go (2 x 8 Go) de mémoire DDR4 Crucial Ballistix 3200 MHz à 71,88 € livré
Valable jusqu'au 29 Juillet

Amazon Allemagne fait une promotion sur le kit de 16 Go (2x8 Go) de mémoire DDR4 Crucial Ballistix 3200 MHz CL16 qui passe à 67,22 € (avec la TVA ajustée). Comptez 4,66 € pour la livraison en France soit un total de 71,88 € livré alors qu'on le trouve ailleurs à plus de 80 €.

Vous pouvez utiliser votre compte Amazon France sur Amazon Allemagne et il n'y a pas de douane. Si vous êtes perdu en allemand, vous pouvez traduire le site en anglais.


> Voir l'offre

Sujets relatifs
Tester si classeur est ouvert ou fermé
Excel 2007 Copier/Coller d’une feuille à l’autre Dans un même classeur.
Recopie cellule dans un autre classeur
Excel mémoire insuffisante pour ouvrir un nouveau classeur
Classeur repetitions de colonne en colonne
ccleaner ne se ferme pas
Classeur Calc de Libre Office
écrire "à" en majuscule
ecrire dans un fichier PDF
Avec quoi écrire sur android
Plus de sujets relatifs à Écrire sur un classeur fermé
 > Tous les forums > Forum Bureautique