Besoin code VBA

RONIBO

XLDnaute Impliqué
Bonjour,

Je viens de créer un USF qui va me permettre de gérer mes numéros de téléphone (l'utiliser comme un carnet)

J'ai bien avancé sur les codes textbox (que j'ai pris sur le forum) mais je n'arrive pas à compléter le reste.

Transférer des données d'un USF sur des cellules
Supprimer ligne (cellules) depuis USF
Mettre à jour données (cellules) depuis l'USF

Je mets un bout du fichier pour mieux comprendre

Merci d'avance à vous

A bientôt
 

Pièces jointes

  • 1111.xlsm
    814.4 KB · Affichages: 60
  • 1111.xlsm
    814.4 KB · Affichages: 72
  • 1111.xlsm
    814.4 KB · Affichages: 71

Papou-net

XLDnaute Barbatruc
Re : Besoin code VBA

Bonsoir RONIBO,

Ci-joint ton fichier avec le code complété.

C'est une version brute de décoffrage pour répondre à ta demande. Elle peut-être améliorée, notamment en ce qui concerne un message de confirmation de suppression.

Restant à ta disposition.

Cordialement.
 

Pièces jointes

  • 1111-2.xlsm
    831.4 KB · Affichages: 52
Dernière édition:

Papou-net

XLDnaute Barbatruc
Re : Besoin code VBA

RE:

Voici une version corrigée, car je me suis aperçu que j'avais oublié d'attacher du code à l'événement Change de CSélectionFiche.

J'en ai profité pour traiter les TextBox au sein d'une boucle, ce qui donne un code plus concis que la précédente proposition. Comme tu as renommé ces contrôles, j'ai inséré le repère de colonne correspondante à chacun dans leur propriété Tag. Cette façon de faire te permet d'ajouter (ou de supprimer) des TextBox sans aucune intervention dans le code; attention toutefois à ne pas oublier de réviser les propriétés Tag à chaque modification du formulaire.

Cordialement.
 

Pièces jointes

  • 1111-3.xlsm
    835.3 KB · Affichages: 42

RONIBO

XLDnaute Impliqué
Re : Besoin code VBA

Bonsoir,

Merci pour ton aide et merci aussi pour le temps que tu m'as consacré.

C'est tout a fait s'que je voulais :)

Je pense qu'on peut améliorer pas mal de chose

- Dans l'USF Numéro : L'obligation de saisir au moins un nom et un numéro
On peut mettre en rouge les textbox TNom et TNuméroTéléphone
et afficher un msgbox du genre : Veuillez rentrer au moins le nom et un numéro de téléphone (Cela va m'éviter d'ajouté des lignes vides)

Dans l'USF ModifierSupprimer : Bloquer la suppression si aucune fiche sélectionnée, on peut également afficher un msgbox comme : Veuillez sélectionner un fiche (Cela va m'éviter de supprimer le titre de la feuille "Brut" et de supprimer des fiches par erreur)

Dans le textbox8 (code postale et ville) de l'USF ModifierSupprimer possibilité d'afficher la ville à coté du code postal (ex : 75000 PARIS)

Lorsque je veux faire une modification d'une fiche, je souhaite reporter les données (ancienne valeur) dans les textbox de couleur blanc (nouvelle valeur)
Cela va m'éviter de saisir toutes les données si je souhaite changer qu'un numéro ou autre

Et pour terminer afficher un msgbox comme : La mise à jour a bien été faite
Lorsque je clic sur le bouton mise à jour

Voila je crois que j'ai tout dit :)

Merci encore

Bonne nuit à toutes et à tous :)
 

Papou-net

XLDnaute Barbatruc
Re : Besoin code VBA

RE:

Effectivement, les pistes d'améliorations sont nombreuses.

Pour le moment, j'ai traité la majeure partie de tes souhaits concernant le formulaire "ModifierSupprimer". Les boutons sont désactivés si la liste de choix est vide, et l'affichage des codes postaux et des villes est scindé. Les zones de texte correspondantes aux nouvelles valeurs affichent également la valeur actuelle.

Concernant le formulaire "Numéro", j'y regarderai demain car pour l'heure le sommeil me rattrape.

Bonne nuit.

Cordialement.
 

Pièces jointes

  • 1111-4.xlsm
    840.3 KB · Affichages: 57

RONIBO

XLDnaute Impliqué
Re : Besoin code VBA

Bonjour le forum, Bonjour Papou-net

Merci pour le fichier,

Je rencontre certains bug lorsque je supprime une fiche
Set c = .Find(TCodePostal, LookIn:=xlValues)
Dans le texbox du code postal.

J'ai trouvé un code qui peu nous intéresser. (Pour le bouton ajouter)

J'ai essayé de l'intégrer dans mon fichier mais je rencontre des soucis.

Si ça peu te servir.


J'ai trouvé un fichier qui peu être nous servir.

A bientôt
 

Pièces jointes

  • 1111-5.xlsm
    814.7 KB · Affichages: 47

Papou-net

XLDnaute Barbatruc
Re : Besoin code VBA

Bonsoir RONIBO,

Comme promis, j'ai planché sur ton fichier.

Voici une version qui me paraît fonctionner sans bug, mais je te laisse le soin de tester par toi-même.

Tu remarqueras que j'ai remanié la feuille Brut, pour faciliter la gestion des codes postaux et des villes. Par ailleurs, je manupule les données dans des variables tableaux (AncVal et NouVal). pour permettre de les traiter en boucle, je les ai renommés. Le tag dans ces contrôles n'est plus utile, je les ai donc effacés.

Cordialement.
 

Pièces jointes

  • 1111-6.xlsm
    839.4 KB · Affichages: 157

RONIBO

XLDnaute Impliqué
Re : Besoin code VBA

Bonsoir le forum, Bonsoir Papou-net,

Je viens de regarder ton fichier, il est juste nickel :)

Par contre je rencontre quelques soucis.

Lorsque j'ajoute une nouvelle fiche, je bloque ici (un ' devant):

Code:
Private Sub CBAjouter_Click()
Dim i As Byte
lg = Feuil2.Range("a" & Rows.Count).End(xlUp).Row + 1
For i = 1 To 8
'Feuil2.Cells(lg, i) = Me.Controls("TextBox" & i)
Next
Feuil2.Cells(lg, 9) = CVille
End Sub

Lorsqu'il y a rien dans la feuille "Brut", je bloque ici (un ' devant) :

Code:
Private Sub UserForm_Activate()
Dim Noms As Range
'Set Noms = Feuil2.Range("A2:A" & Rows.Count).SpecialCells(xlCellTypeConstants)
CSélectionFiche.RowSource = "Brut!" & Noms.Address
End Sub

Lorsque je supprime des fiches, dans le combobox des lignes blanches apparaissent par la suite, on peut éviter cela?

Dans l'USF ModifierSupprimer, Dans la partie "Nouvelle valeurs", lorsque je saisie un nouveau code postal, j'ai pas la possibilité de choisir la ville depuis le combobox (CVille)

Les titres des colonnes de la feuille "Brut" ont étaient supprimés, c'est fait exprès ?

Je te mets la nouvelle version du fichier car j'ai faits quelques modifications des tailles texbox.

Merci encore,

A très bientôt

Bonne soirée

Cordialement
 

Pièces jointes

  • 1111-7.xlsm
    819.9 KB · Affichages: 41

Papou-net

XLDnaute Barbatruc
Re : Besoin code VBA

Bonsoir RONIBO,

Après quelques sueurs froides (je pensais avoir perdu le fichier remanié), voici donc la version 8 corrigé.

Pour info, j'ai renommé les TextBox du formulaire Numéro en leur ajoutant un numéro d'ordre afin de les intégrer également dans une boucle. Les quelques essais que j'ai fait me semblent avoir résolu les problèmes soulevés, mais je te laisse là encore le soin de poursuivre les investigations.

Pour le moment, je me suis contenté de reprendre et de remanier la structure originelle de ton fichier, ce qui semble conduire à une lourdeur de code. Je pense que ton application pourrait se réaliser avec un seul formulaire, ce qui réduirait d'autant la programmation en évitant les redites.

Si cela t'intéresse, sache que je serai absent la semaine prochaine et donc il faudra prévoir un délai..

Bonne fin de WE.

Cordialement.

http://cjoint.com/?CJntxYZXWf1
 

RONIBO

XLDnaute Impliqué
Re : Besoin code VBA

Bonsoir Papou-net

Merci pour le fichier :)

Décidément j'ai pas de chance :)

Je bloque sur cette ligne des que je supprime une fiche
Set cp = Feuil3.Range("C:C").Find(TextBox108, LookIn:=xlValues, lookat:=xlWhole)

A bientôt
 

grisan29

XLDnaute Accro
Re : Besoin code VBA

bonsoir Ronibo, Papou-net et le forum
j'ai fait des essais avec le fichier joint par papou-net et n'ai pas rencontrer de problèmes particuliers, j'ajoute un nom et le supprime sans anomalies
set cp est en rapport avec le textbox 108 qui est le code postal

Pascal
 
Dernière édition:

Papou-net

XLDnaute Barbatruc
Re : Besoin code VBA

RE RONIBO,

Bonsoir Grisan29, et merci pour ta participation.

Chez moi non plus pas de problème lors de suppression de fiche.

Il faudrait préciser davantage la nature du blocage: est-ce que la ligne se met en jaune, quelle est la nature du message d'erreur? Est-ce qu'il n'y aurait pas une référence manquante dans l'éditeur VB, par ailleurs?

A +

Cordialement.
 

RONIBO

XLDnaute Impliqué
Re : Besoin code VBA

Bonjour le fil,

J'ai cette ligne qui apparait en jaune :

Code:
    Set cp = Feuil3.Range("C:C").Find(TextBox108, LookIn:=xlValues, lookat:=xlWhole)

Image :


Ce qui est bizarre, j'ai ce problème que pour la deuxième ligne du combobox (Essai 1), de ton fichier v8

Si tu me dit qu'un formulaire serait mieux, je suis prôneur :)

A bientôt
 

Pièces jointes

  • sq7u.png
    sq7u.png
    15.6 KB · Affichages: 43

Papou-net

XLDnaute Barbatruc
Re : Besoin code VBA

Bonsoir RONIBO, Pascal, le Forum,

Je pense avoir trouvé l'origine du problème:

Il se trouve que, pour une raison que j'ignore, la cellule H4 était au format texte. Ou, plus précisément, elle commençait par une apostrophe. Après l'avoir supprimée, ça semble fonctionner correctement (j'ai essayé de supprimer toutes les lignes et n'ai obtenu aucune erreur.

Je joins donc la version 8a modifiée.

Cordialement.

http://cjoint.com/?CJqwNfoIxzN
 

Si...

XLDnaute Barbatruc
Re : Besoin code VBA

salut

autre proposition avec un seul UsF.
Remarques :
- avec les "Tableaux" (2007 et +), pas besoin de se préoccuper, entre autre, des formats.
- chaque ville n'ayant qu'un code postal je pense que la liste déroulante intéressante est de ces derniers.
- attention quand on renomme des contrôles !

Pour alléger le fichier j'ai supprimé des données. Il reste à les rajouter (en redimensionnant le tableau "Villes"et tester.
 

Pièces jointes

  • Répertoire.xlsm
    118.5 KB · Affichages: 72
  • Répertoire.xlsm
    118.5 KB · Affichages: 75
  • Répertoire.xlsm
    118.5 KB · Affichages: 82

Statistiques des forums

Discussions
312 190
Messages
2 086 044
Membres
103 105
dernier inscrit
fofana