reafficher le formulaire de départ pour pouvoir modifier les données

toto3371

XLDnaute Nouveau
Bonjour,
Je pense que mon problème est proche du votre enfin si j'ai bien tout compris.

Je m'occupe d'une association et je veux simplifier la saisie des données administratives concernant chaque membre sur excel.

Pour cela j'ai créé différentes colonnes sous excel (Nom, Prénom, Date de naissance, téléphone, adresse, ...)

Afin de les remplir facilement, j'ai créé un formulaire avec VBA. Mon formulaire marche parfaitement.

Seulement je voudrais pouvoir faire l'inverse, c'est à dire que si je veux modifier une données concernant un membre il me faudrait que mon formulaire se réaffiche mais avec les données remplie pour ce membre et ainsi je n'ai plus qu'à modifier les données erronées.

Je ne sais pas si je suis clair.

Merci d'avance en tout cas de votre aide.
 

toto3371

XLDnaute Nouveau
Re : reafficher le formulaire de départ pour pouvoir modifier les données

Salut Hasco et tous les autres,
J'espère que vous avez passé un bon weekend.

Hasco j'ai utilisé tes modifications afin de pourvoir créer une feuille avec uniquement les informations désirées par exemple nom prénom téléphone.
Le petit hic c'est que si je crée une feuille il la nomme "export" et quand je veux en créer une autre il me dit qu'il ne peut pas car il ne peut pas donner le même nom à une autre feuille. Comment faire pour que le nom de la feuille change à chaque fois ou alors carrément qu'il me demande de nommer la nouvelle feuille moi même.

Une autre petite question comment faire pour que la taille des cellules soit la même que dans le grand tableau de départ. En effet là toute les cellules dans la feuille export ont la même taille et donc le texte est coupé. Alors que je voudrais qu'elle soit addaptée au texte.

Merci beaucoup.
 
G

Guest

Guest
Re : reafficher le formulaire de départ pour pouvoir modifier les données

Bonjour Toto,

Pas d'impatiente, je suis peut-être connecté mais pas en service!
De plus aucune obligation de resultat sur xld!

Voici le code du bouton cmdExport du userForm usfColonnes
En rouge, les changements.
Code:
Private Sub cmdExport_Click()
    Dim i As Integer
    Dim plage As Range
    Dim NomFeuille As String
   [COLOR=red] NomFeuille = InputBox("Nom de la nouvelle feuille d'export?", "Exporter des colonnes", "")
[/COLOR]    For i = 0 To 14
        If lbColonnes.Selected(i) Then
            With Sheets("Donnees").Range("A1").CurrentRegion
            If plage Is Nothing Then
                Set plage = .Columns(i + 1)
            Else
                Set plage = Union(plage, .Columns(i + 1))
            End If
            End With
        End If
    Next i
    On Error Resume Next
    plage.Copy
    Sheets.Add
    [COLOR=red]With ActiveSheet
        If NomFeuille <> "" Then .Name = NomFeuille
        .Range("A1").PasteSpecial skipblanks:=True
        .Range("A1").CurrentRegion.Columns.AutoFit
    End With
[/COLOR]    Application.CutCopyMode = False
    If Err.Number > 0 Then
        MsgBox "Une erreur c'est produite lors de l'exportation des colonnes" & vbCrLf _
            & Err.Description, vbExclamation, "Exportation colonnes"
    Else
        MsgBox "Exportation réussie sur la feuille " & ActiveSheet.Name, vbInformation, "Exportation colonnes"
    End If
    Unload Me
End Sub
A+
 

toto3371

XLDnaute Nouveau
Re : reafficher le formulaire de départ pour pouvoir modifier les données

Bonjour Hasco,
Désolé mais mon message n'était pas pour pressé qui que ce soit. Mais tout simplement je me demandais si je n'en demandais pas trop.
En tout cas merci pour le code, je le teste dès ce soir sur mon fichier.
 

toto3371

XLDnaute Nouveau
Re : reafficher le formulaire de départ pour pouvoir modifier les données

Salut Hasco,
Le code marche super pour la création des feuilles avec choix du nom.
Par contre penses-tu que l'on peut faire en sorte que la taille des colonnes s'adapte au texte?
Merci d'avance
 
G

Guest

Guest
Re : reafficher le formulaire de départ pour pouvoir modifier les données

Bonjour toto, le forum,

La ligne suivante (présente dans le code donné précédement)
Code:
[COLOR=#ff0000].Range("A1").CurrentRegion.Columns.AutoFit[/COLOR]
est sensée le faire. Chez moi, ça marche.

A+
 

toto3371

XLDnaute Nouveau
Re : reafficher le formulaire de départ pour pouvoir modifier les données

Merci hasco,
En fait ça marche c'est moi qui m'était planté.
Sais-tu comment faire pour une ligne sur deux apparaissent en fond gris afin de bien distinguer chaque ligne quand on lit les feuilles excel qui sont créées.
 

jeanpierre

Nous a quitté
Repose en paix
Re : reafficher le formulaire de départ pour pouvoir modifier les données

Bonjour toto3371, le fil,

S'il s'agit d'un bouton issu de la Boîte à outils Contrôle, tu passes en mode Edition en cliquant sur l'équerre, clic droit sur le bouton et Propriétés. Tu décoches Imprimer l'objet. Tu termines en recliquant sur l'équerre.

S'il provient de Formulaires, clic droit sur le bord du bouton et pareil dans Propriétés.

Bonne soirée.

Jean-Pierre
 
G

Guest

Guest
Re : reafficher le formulaire de départ pour pouvoir modifier les données

bonsoir toto, le fil et le forum,

Pour répondre à ton post #37:
Changements en rouge avec commentaire en vert
Code:
Private Sub cmdExport_Click()
    Dim i As Integer
    Dim plage As Range
    Dim NomFeuille As String
    NomFeuille = InputBox("Nom de la nouvelle feuille d'export?", "Exporter des colonnes", "")
    For i = 0 To 14
        If lbColonnes.Selected(i) Then
            With Sheets("Donnees").Range("A1").CurrentRegion
            If plage Is Nothing Then
                Set plage = .Columns(i + 1)
            Else
                Set plage = Union(plage, .Columns(i + 1))
            End If
            End With
        End If
    Next i
    On Error Resume Next
    plage.Copy
    Sheets.Add
    With ActiveSheet
        If NomFeuille <> "" Then .Name = NomFeuille
        .Range("A1").PasteSpecial skipblanks:=True
[COLOR=red]      With .Range("A1").CurrentRegion[/COLOR]
[COLOR=red]         [COLOR=yellowgreen]'Ajuster les colonnes au texte[/COLOR]
            .Columns.AutoFit[/COLOR]
[COLOR=red]       [COLOR=yellowgreen]  'Créer un format conditionnel[/COLOR]
            .FormatConditions.Delete[/COLOR]
[COLOR=red]   [COLOR=yellowgreen]      'Pour avoir les lignes paires grisées, changer 1 par 0 dans la formule[/COLOR]
            .FormatConditions.Add Type:=xlExpression, Formula1:="=MOD(LIGNE();2)=1"[/COLOR]
[COLOR=red]          [COLOR=yellowgreen]'Couleur d'écriture[/COLOR]
            .FormatConditions(1).Font.ColorIndex = xlAutomatic[/COLOR]
[COLOR=red]          [COLOR=yellowgreen]'Couleur de fond[/COLOR]
            .FormatConditions(1).Interior.ColorIndex = 15
        End With
[/COLOR]  End With
    Application.CutCopyMode = False
    If Err.Number > 0 Then
        MsgBox "Une erreur c'est produite lors de l'exportation des colonnes" & vbCrLf _
            & Err.Description, vbExclamation, "Exportation colonnes"
    Else
        MsgBox "Exportation réussie sur la feuille " & ActiveSheet.Name, vbInformation, "Exportation colonnes"
    End If
    Unload Me
End Sub

A+
 

toto3371

XLDnaute Nouveau
Re : reafficher le formulaire de départ pour pouvoir modifier les données

Salut Hasco,
Merci beaucoup.
Les lignes sont bien grisée une sur deux. Par contre si une cellule ne contient pas de données alors la cellule ne se grise pas. Je ne comprend pas pourquoi. Ce n'est pas très esthétique et il est fort possible que pour certains membres certaines données soient vides.
 
G

Guest

Guest
Re : reafficher le formulaire de départ pour pouvoir modifier les données

Hello toto, le forum,

Pour le moment, je ne vois pas. La condition s'exprime lorsque un numéro de ligne des cellules du tableau est impair et n'a rien à voir avec le contenu.

J'ai testé avec xl2002 et xl2007, tout semble fonctionner.

A+
 

toto3371

XLDnaute Nouveau
Re : reafficher le formulaire de départ pour pouvoir modifier les données

Merci Hasco,
Une autre question.
Etant donné que le programme est fait pour quelqu'un qui ne s'y connaît pas du tout en info je voudrais qu'il ne puisse pas tripatouiller au code VBA et tout me planter. Y a t'il un moyen pour le bloquer: mot de passe ou autre truc dans le genre?
 

kjin

XLDnaute Barbatruc
Re : reafficher le formulaire de départ pour pouvoir modifier les données

Bonjour,
Si l'application se destine à un novice, je doute qu'il aille bidouiller ton code...
Néanmoins (pour les novices) dans le menu VBA -->Outils/Propriétés de VBAProject -->Onglet Protection
A+
kjin
 

Discussions similaires

Statistiques des forums

Discussions
312 336
Messages
2 087 388
Membres
103 534
dernier inscrit
Kalamymustapha