> 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
30,99 €Clé USB 3.0 et Micro USB Sandisk Ultra OTG 256 Go à 30,99 €
Valable jusqu'au 17 Juin

Amazon fait une promotion sur la nouvelle version de la clé USB 3.0 SanDisk Dual Drive 256 Go qui passe à 30,99 € livrée gratuitement. La particularité de cette clé USB réside dans le fait qu'elle dispose à la fois d'un connecteur USB pour la brancher sur votre ordinateur ou votre TV, mais également d'un connecteur micro USB pour la brancher sur votre smartphone ou votre tablette. Compatible USB 3.0 (et 2.0), cette clé USB offre des débits jusqu'à 150 Mo/s. 


> Voir l'offre
150,84 €SSD Samsung 870 QVO 2 To à 150,84 € livré
Valable jusqu'au 17 Juin

Amazon Allemagne fait une belle promotion sur le tout nouveau SSD Samsung 870 QVO 2 To qui passe à 146,21 € (avec la TVA ajustée). Comptez 4,63 € pour la livraison en France soit un total de 150,84 € livré. Ce SSD offre des vitesses de 560 Mo/s en lecture et 530 Mo/s en écriture. Il est garanti 3 ans.

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
14,89 €Clé USB Sandisk Ultra 64 Go à double connectique USB 3.1 Type A et C à 14,89 €
Valable jusqu'au 16 Juin

Amazon fait une promotion sur la clé USB Sandisk Ultra 64 Go à double connectique USB 3.1 Type A et C qui passe à 14,89 € alors qu'on la trouve ailleurs à plus de 25 €. Cette clé USB  dispose d'un connecteur réversible USB Type C et d'un connecteur classique de type A. Grâce à elle, transférez en toute simplicité et rapidement (jusqu'à 150 Mo/s) vos fichiers entre vos smartphones, tablettes et ordinateurs. 


> 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