Copier les données de l'userform vers feuille

OULALA du petit chinois...

Juste que dans la case que l'on remplie " numéro de téléphone", cela ne génère pas le zéro

capture

Haha c'est presque rien ça

Dans le code du formulaire 'ajouterContact' dans la procédure CommandButton1_Click

Remplace

donnees(1, 10) = numTelephone

par

donnees(1, 10) = Cstr(numTelephone)

De même pour

codePostal -> Cstr(codePostal)

sans ça, le numéro est considéré comme un nombre (suprenant n'est-il pas?) et donc le premier zéro est automatiquement supprimé

EDIT :

Il faut d'abord passer la colonne J de la feuille "DONNEES" en type "Texte" et ensuite faire la modification

je vais devenir dingue............

maintenant j'ai un message d'erreur :

capture

je ne comprends pas je n'ai rien touché ?

As-tu changé le nom des feuilles de travail? Si c'est le cas, il faut éditer les lignes suivantes, qui sont tout en haut du code du formulaire formulaireColis :

Private Const nomFeuilleTravail As String = "DONNEES"
Private Const nomFeuilleHistorique As String = "HISTO"

Si le problème n'est pas résolu, joins le fichier qui génère l'erreur.

Tkt on va trouver une solution

Je ne sais pas pourquoi maintenant ça fonctionne (à ne rien comprendre)

mais maintenant j'ai le problème du code postal dans le formulaire colis (la colonne dans la feuille "DONNEES" est en format spécial code postal car si je mets texte, le zéro devant n’apparaît pas !

capture

Pour la première erreur:

Tu as essayé d'ajouter un contact sans passer par le formulaire de colis, ce qui génère une erreur et c'est NORMAL. Il est programmé de cette façon.

Pour le code postal, la même manipulation que pour le numéro de téléphone devrait corriger le problème.

Bonjour,

j'ai essayé de faire la même chose pour la colonne code postal, mais rien à faire, j'ai corrigé dans le feuille "DONNEES" j'ai placé Cstr dans le code, j'ai tenté de mettre format texte j'ai également essayé d'insérer la fonction texte mais rien n'y fait...

Je ne comprends pas. Le seul moyen et de corriger chaque cellule mais c'est plutôt long

ça sera plus rapide pour t'aider

Voici le fichier.

16valtaor1-3.xlsm (68.49 Ko)

Pour ma part il n'y a aucun problème.

Sélectionnes les colonnes B à J et mets en format "Texte". En ajoutant un contact, le code postal s'affiche sans erreur ni 0 supprimé.

Le problème n'étant pas lorsque je rajoute un contact dans le formulaire ajout de contact mais lorsque je saisie dans le formulaire colis

Essais de saisir le numéro de client 101024 au lieu de m'afficher le code postal 02200, il m'affiche 2200.

Fais la manip pour ma part tout fonctionne ^^ J'ai joins ton fichier "modifié" dans mon message précédent. Et chez moi tout fonctionne!

capture

je ne t'ai pas donné le bon exemple de code client car celui-ci je l'ai modifié manuellement. Essais le code client 101088 ou 10110.

Fais tourner cette macro, ça corrigera les erreurs

Sub correction()
Dim numLigne As Integer
For numLigne = 2 To 9999
    If Len(Sheets("DONNEES").Cells(numLigne, 8)) = 4 Then
        Sheets("DONNEES").Cells(numLigne, 8) = "0" & Sheets("DONNEES").Cells(numLigne, 8)
    End If
Next numLigne
End Sub

Tu es MACROSCOPIQUE, ça fonctionne comme par magie...

Dis-moi, est-il possible de partager un classeur comme celui-ci en sachant que les autres personnes ne modifieront pas le code ?

Je dois t'avouer que c'est une question qu'on ne me pose pas et que je ne me pose pas... Mais j'aurai tendance à dire non.

Ce qu'il faut absolument éviter c'est d’écrire des données à la main dans la base de données. Je te conseille donc très vivement de cacher la feuille contenant les données, et de n'ajouter des contacts que via le formulaire associé.

Après le risque d'avoir le classeur partagé, c'est l'historique! Une seule personne aura le droit en écriture sur le fichier. Si 5 personnes ont le fichier ouvert, 4 l'auront en lecture seule et ne pourrons donc rien sauvegarder dans l'historique.

Pire, si le premier utilisateur libère le fichier, le 2nd utilisateur, en sauvegardant, écraserez certaines infos voire la totalité de l'historique du premier utilisateur

Cas simple:

Le premier utilisateur écrit les lignes 10 à 15 de la page historique

Le second utilisateur écrit les lignes 10 à 12 de la page historique

Lorsque le second sauvegardera, les lignes 10 à 12 saisies par le premier seront perdues.

OK c'est noté !

je te remercie encore infiniment pour tout.

Rechercher des sujets similaires à "copier donnees userform feuille"