IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Contribuez Discussion :

USERFORM - Créer, Consulter, Modifier et Supprimer des enregistrements à l'aide d'un formulaire.


Sujet :

Contribuez

  1. #61
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    12 763
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 12 763
    Points : 28 622
    Points
    28 622
    Billets dans le blog
    53
    Par défaut
    Bonjour MadeInSwiss,
    Merci pour ton message.
    Je souhaiterais pouvoir effectuer une recherche depuis la combobox cboMember sur plusieurs colonne de ma base de donnée.
    Au stade actuel de mes connaissances, il n'est pas possible de faire une recherche multi-colonne au départ d'un contrôle ComboBox. La recherche dépend de la propriété MatchEntry qui suivant la valeur qui s'y trouve effectuera la recherche dans la colonne définie par la propriété TextColumn
    Extrait de l'aide VBA
    La propriété MatchEntry recherche des entrées à partir de la propriété TextColumn d'un contrôle ListBox ou ComboBox.
    Le contrôle recherche dans la colonne identifiée par la propriété TextColumn une entrée correspondant à la saisie de l'utilisateur. Lorsqu'une correspondance est trouvée, la ligne contenant la correspondance est sélectionné, le contenu de la colonne est affiché et celui de sa propriété BoundColumn devient la valeur du contrôle. Si la correspondance n'est pas ambiguë, le résultat de la correspondance déclenche l'événement Click.
    Le contrôle déclenche l'événement Click dès que l'utilisateur tape une suite de caractères correspondant exactement à l'entrée de la liste. Pendant que l'utilisateur tape, l'entrée est comparée à la ligne courante de la liste et à la ligne suivante. Lorsque l'entrée ne correspond qu'à la ligne courante, la correspondance est non ambiguë.
    Dans Microsoft Forms, ceci est vrai que la liste soit ou non triée. Cela signifie que le contrôle trouve la première occurrence qui correspond à l'entrée en fonction de l'ordre des éléments de liste. Par exemple, la saisie de "abc" ou "bc" déclenche l'événement Click pour la liste suivante :
    abcde
    bcdef
    abcxyz
    bchij
    Notez que dans chacun des cas, l'entrée correspondante n'est pas unique ; cependant, elle est suffisamment différente de l'entrée adjacente pour que le contrôle interprète la correspondance comme étant non ambiguë et déclenche l'événement Click.
    Pour faire une recherche multi-colonne, utilises plutôt un contrôle TextBox en affichant dans un ComboBox ou ListBox le résultat de la recherche en fonction des lettres tapées dans le TextBox
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

  2. #62
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    12 763
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 12 763
    Points : 28 622
    Points
    28 622
    Billets dans le blog
    53
    Par défaut
    Bonjour Citaro,
    Bonjour Philippe,
    Bravo pour ce post qui m'est très instructif.
    Merci pour ton appréciation.

    Avec le code suivant qui se trouve sur la worksheet "Démonstration", on lance le userform en double cliquant sur les données de la feuille.
    As-tu une solution pour ouvrir le userform en mode modification en fonction de la ligne sur laquelle on double clique.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
     If Not Intersect(Target, Me.Range("A1").CurrentRegion) Is Nothing Then
      Cancel = False
      With usfDemo
      .Tag = Target.Row - 2
      .Show
      End With
      Cancel = True
     End If
    End Sub
    Ce n'est pas la sélection dans la liste qui détermine si tu es en modification ou pas. C'ets toi qui détermine en fonction de tes propres critères si les données sont consultables, modifiables, etc.
    J'utilise pour cela la constante énumérée Status
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Enum Status ' Constantes énumérées Status
     Consultation = 0: Modify = 1: NewRec = 2: Remove = 3
    End Enum
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

  3. #63
    Futur Membre du Club
    Homme Profil pro
    Responsable de compte
    Inscrit en
    Juillet 2011
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Responsable de compte
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2011
    Messages : 16
    Points : 6
    Points
    6
    Par défaut
    Bonjour Philippe,

    Citation Envoyé par Philippe Tulliez Voir le message
    Pour faire une recherche multi-colonne, utilises plutôt un contrôle TextBox en affichant dans un ComboBox ou ListBox le résultat de la recherche en fonction des lettres tapées dans le TextBox

    Merci pour ta réponse, effectivement c'est la piste que je suis en train d'explorer depuis hier : rajout d'une textbox et affichage dans listbox.
    Par contre, je rencontre des soucis lorsque je veux en plus cliquer dans la listbox sur l'un des résultats pour accéder à ma fiche correspondante.
    Je vais creuser tout ça dans la journée et me permettrai de revenir vers vous si je bloque.

    Bonne journée.

  4. #64
    Membre du Club
    Homme Profil pro
    Oenologue
    Inscrit en
    Juin 2011
    Messages
    73
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Oenologue
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Juin 2011
    Messages : 73
    Points : 55
    Points
    55
    Par défaut
    Un grand merci à vous monsieur Tulliez, ce post est une mine d'enseignements même si je suis loin de tout comprendre.
    Je commence à adapter votre code à mes besoins (alimenter une base de données de dégustation, on est bien loin de l'utilisation initiale )

    Souhaitant ajouter d'autres ListBox identique à la votre je m'interroge sur cette ligne : ".RowSource = Range("lstHobby").Address(external:=True)"
    je ne comprends pas où vous définissez lstHobby dans votre code. Si par hasard vous trouvez le temps de me répondre je vous en remercie par avance.

  5. #65
    Expert éminent

    Homme Profil pro
    Curieux
    Inscrit en
    Juillet 2012
    Messages
    5 073
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Curieux
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2012
    Messages : 5 073
    Points : 9 853
    Points
    9 853
    Billets dans le blog
    5
    Par défaut
    Bonjour,

    sans vouloir couper l'herbe sous le pied de Philippe, lorsque dans un code VBA tu as Range("UneChaine"), ceci correspond à une plage nommée (quand "UneChaine" n'est pas une adresse de cellule type A1 ou autre).

    cette plage nommée, tu la retrouveras probablement via le menu "Formules">>"Gestionnaire de noms"

  6. #66
    Membre du Club
    Homme Profil pro
    Oenologue
    Inscrit en
    Juin 2011
    Messages
    73
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Oenologue
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Juin 2011
    Messages : 73
    Points : 55
    Points
    55
    Par défaut
    Citation Envoyé par joe.levrai Voir le message
    Bonjour,

    sans vouloir couper l'herbe sous le pied de Philippe, lorsque dans un code VBA tu as Range("UneChaine"), ceci correspond à une plage nommée (quand "UneChaine" n'est pas une adresse de cellule type A1 ou autre).

    cette plage nommée, tu la retrouveras probablement via le menu "Formules">>"Gestionnaire de noms"
    Bonjour joe.levrai merci pour cette réponse, je me demandais en fait si cette plage était nommée dans le code vba. Visiblement non.

  7. #67
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    12 763
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 12 763
    Points : 28 622
    Points
    28 622
    Billets dans le blog
    53
    Par défaut
    Bonjour Paul,
    D'abord merci à Joe que je salue au passage d'avoir déjà apporté la réponse à ta question.

    je me demandais en fait si cette plage était nommée dans le code vba. Visiblement non.
    Oui effectivement cette plage (lstHobby) est nommée indépendamment du code VBA et pour rendre dynamique mes listes je converti toujours la plage de données en tableau.
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

  8. #68
    Membre du Club
    Homme Profil pro
    Oenologue
    Inscrit en
    Juin 2011
    Messages
    73
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Oenologue
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Juin 2011
    Messages : 73
    Points : 55
    Points
    55
    Par défaut
    Un grand merci à vous deux. Bonne continuation.

  9. #69
    Membre du Club
    Homme Profil pro
    Oenologue
    Inscrit en
    Juin 2011
    Messages
    73
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Oenologue
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Juin 2011
    Messages : 73
    Points : 55
    Points
    55
    Par défaut
    J'ai remarqué un truc qui n'a pas été évoqué précédemment.
    Lorsqu'on clique sur Nouveau les champs TxtBox sont vidés (ClearTextBox) mais pas la ListBox (les cases cochées lors du précédent enregistrement le reste).
    Existe-t-il une fonction pour réinitialiser la ListBox ?

  10. #70
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    12 763
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 12 763
    Points : 28 622
    Points
    28 622
    Billets dans le blog
    53
    Par défaut
    Bonsoir Paul,
    Lorsqu'on clique sur Nouveau les champs TxtBox sont vidés (ClearTextBox) mais pas la ListBox (les cases cochées lors du précédent enregistrement le reste).
    C'est exact, cela a échappé à ma vigilance lors des tests.

    A priori en ajoutant la ligne en rouge on pourrait déjà avoir une solution provisoire (Attention pas testé complètement)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Private Sub cmdNew_Click()
     UserFormStatus = Status.NewRec
     ClearTextBox   ' Efface les valeurs des TextBox
     InitListBox    ' Initialise ListBox 16/11/2016
     OppositeStatus ' Inverse la valeur booléenne des boutons d'action
    End Sub
    Je vais m'en occuper dans les prochains jours et publierai la modification. Il y a d'ailleurs également le choix du sexe qui reste égalment coché sur le dernier choix.
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

  11. #71
    Membre du Club
    Homme Profil pro
    Oenologue
    Inscrit en
    Juin 2011
    Messages
    73
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Oenologue
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Juin 2011
    Messages : 73
    Points : 55
    Points
    55
    Par défaut
    Et bien ça c'est du SAV de luxe, je vous remercie. Bon ça ne fonctionne pas mais ce n'est pas grave.

  12. #72
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    12 763
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 12 763
    Points : 28 622
    Points
    28 622
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Et bien ça c'est du SAV de luxe, je vous remercie. Bon ça ne fonctionne pas mais ce n'est pas grave.
    Qu'est-ce qui ne marche pas ?

    Procédure à ajouter dans le UserForm nommé usfMember
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Sub ClearListBox(objListBox As MSForms.ListBox)
     ' Version 4.1 - 17/11/2016
     ' Efface les multi-sélections de l'objet ListBox
     Dim Elem As Byte
     With objListBox
      If .MultiSelect = fmMultiSelectMulti Then
       For Elem = 0 To .ListCount - 1:  .Selected(Elem) = False:   Next
      End If
     End With
    End Sub
    et ajouter la ligne en rouge dans la procédure événementielle nommée cmdNew_Click
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Private Sub cmdNew_Click()
     UserFormStatus = Status.NewRec
     ClearTextBox   ' Efface les valeurs des TextBox
     ClearListBox Me.lstHobby ' Enlève les sélections du ListBox 17/11/2016
     OppositeStatus ' Inverse la valeur booléenne des boutons d'action
    End Sub
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

  13. #73
    Membre du Club
    Homme Profil pro
    Oenologue
    Inscrit en
    Juin 2011
    Messages
    73
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Oenologue
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Juin 2011
    Messages : 73
    Points : 55
    Points
    55
    Par défaut
    Citation Envoyé par Philippe Tulliez Voir le message
    Qu'est-ce qui ne marche pas ?
    Ben non finalement tout fonctionne Merci monsieur Tulliez

  14. #74
    Expert éminent

    Homme Profil pro
    Curieux
    Inscrit en
    Juillet 2012
    Messages
    5 073
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Curieux
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2012
    Messages : 5 073
    Points : 9 853
    Points
    9 853
    Billets dans le blog
    5
    Par défaut
    Bonjour,

    petite astuce, tel le remplacement d'une formule par sa valeur sur une plage Excel

    pour décocher tous les éléments d'une ListBox déjà chargée
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    With Me.ListBox1
       If .MultiSelect <> fmMultiSelectSingle Then .List = .List
    End With

    EDIT : dans le fond, le test de la valeur de propriété de MultiSelect n'apparaît pas nécessaire ?

  15. #75
    Candidat au Club
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Octobre 2016
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Chargé d'affaire

    Informations forums :
    Inscription : Octobre 2016
    Messages : 2
    Points : 4
    Points
    4
    Par défaut
    Bonjour Philippe ,

    Impressionnant ce que tu nous offre merci.

    Je suis partis de votre travail et je l'ai personnaliser pour mes besoins. Tout va bien, mais je bloque sur 2 points
    1) lorsque je cree un nouveau record, j'ai ajouter l'instruction date de creation, et cela fonctionne.
    Private Sub UserForm_Initialize()
    txtDateF.Text = Date
    End Sub

    Ce que je voudrais, ajouter une Date Supression, ET que la ligne avant d'etre supprimer soit copier dans un Onglet Archives. Pourrais-tu me guider?

    2) J'ai fait export/import de ton formulaire, dans mon classeur, et tout a bien ete. Par la suite apres avoir personnalise mon formulaire, j'ai refait la meme procedure dans mon classeur pour avoir un autre formulaire. (Objectif : Mon classeur a plusieurs Onglets, et chaque Onglets ont leur formulaire. Mon probleme se situe avec un code d'erreur quand j'ouvre mon 2 ieme formulaire : J'ai alors ce message d'erreur ERREUR DE COMPILATION, NOM AMBIGUE DETECTE : Status ... alors je dois mettre ces lignes en message
    'Enum Status
    'Consultation = 0: Modify = 1: NewRec = 2: Remove = 3
    'End Enum
    Pourquoi? Je cherche et je compare, et je ne vois pas.

    Indice : J'ai modifier le R00, pour le ID, car chaque formulaire aura un ID different. (C-A-D : C00, D00 .. )

    Private Sub ReadRecord(ByVal RecordNumber As Long)
    ' Lecture de l'enregistrement
    RecordNumber = RecordNumber + 1
    With rng
    Me.txtName = .Cells(RecordNumber, 2)
    Me.txtDateF = .Cells(RecordNumber, 3)
    If UCase(.Cells(RecordNumber, 4)) = "F" Then Me.optFemale.Value = True Else Me.optMale = True
    Me.frmMember.Caption = "Fiche " & Format(.Cells(RecordNumber, 1), "C000")
    End With
    End Sub

    Private Sub WriteRecord(ByVal RecordNumber As Long)
    ' Ecriture de l'enregistrement
    Me.cboMember.ListIndex = -1
    RecordNumber = RecordNumber + 1
    With rng
    With .Cells(RecordNumber, 1)
    If Len(.Value) = 0 Then ' ID
    .Value = Application.WorksheetFunction.Max(rng.Columns(1)) + 1
    End If
    .NumberFormat = "\C000" ' Format
    End With
    .Cells(RecordNumber, 2) = Me.txtName
    .Cells(RecordNumber, 3) = Me.txtDateF
    .Cells(RecordNumber, 4) = IIf(Me.optFemale = True, "Inactif", "Actif")
    .Cells(RecordNumber, 5) = Me.txtName
    End With
    Me.cboMember.ListIndex = CurrentRecord
    End Sub


    Merci a l'avance
    Michel

  16. #76
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    12 763
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 12 763
    Points : 28 622
    Points
    28 622
    Billets dans le blog
    53
    Par défaut
    Bonjour Michel,
    Merci pour ton appréciation
    Mon probleme se situe avec un code d'erreur quand j'ouvre mon 2 ieme formulaire : J'ai alors ce message d'erreur ERREUR DE COMPILATION, NOM AMBIGUE DETECTE : Status ... alors je dois mettre ces lignes en message
    'Enum Status
    'Consultation = 0: Modify = 1: NewRec = 2: Remove = 3
    'End Enum
    Pourquoi? Je cherche et je compare, et je ne vois pas.
    Le message d'erreur signifie dans ce cas précis qu'il y a une constante énumérée qui porte le même nom dans le même projet (classeur).
    Il faut faire précéder Enum par Private, comme ci-dessous et cela devrait fonctionner.
    Je ne garanti pas qu'il n'y aura pas une autre procédure portant le même nom car lors de mes tests, je n'avais qu'un seul UserForm dans le projet.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Enum Status
     Consultation = 0: Modify = 1: NewRec = 2: Remove = 3
    End Enum
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

  17. #77
    Candidat au Club
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Octobre 2016
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Chargé d'affaire

    Informations forums :
    Inscription : Octobre 2016
    Messages : 2
    Points : 4
    Points
    4
    Par défaut
    Cela fonctionne maintenant.

    Merci de m'avoir expliquer la cause et la correction a apporter.
    Car je n'aurais pense a cela, une notion que je ne connaissais pas encore, pourtant logique.

  18. #78
    Futur Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Août 2013
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2013
    Messages : 4
    Points : 6
    Points
    6
    Par défaut fichiers compléments
    Bonjour,

    Tout d'abord, je vous félicite pour ce travail remarquable.
    Vous avez parlé de fichiers compléments. Pourrez-vous svp m'indiquer l'endroit où je peux les télécharger?
    Merci

  19. #79
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    12 763
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 12 763
    Points : 28 622
    Points
    28 622
    Billets dans le blog
    53
    Par défaut
    Bonjour DameG,
    Tout d'abord, je vous félicite pour ce travail remarquable
    Merci pour ton appréciation.

    Vous avez parlé de fichiers compléments. Pourrez-vous svp m'indiquer l'endroit où je peux les télécharger?
    Cela ne me dit rien. Pourrais-tu me rafraîchir la mémoire en m'indiquant le lien de la discussion où j'en parle ?
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

  20. #80
    Membre habitué
    Profil pro
    Inscrit en
    Août 2010
    Messages
    198
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 198
    Points : 140
    Points
    140
    Par défaut Limiter l'incrémentation de ligne ...
    Bonjour Philippe, super boulot je me sert de votre exemple pour faire mes premier pas en Vba !!!

    J'essaye d'adapter votre démo à un quelque chose de concret pour moi ... comment faire pour que l'incrémentation de ligne s'arrête à la ligne 80 avec le R et continu à la 81 avec CA01...CA02 etc ...

    Comment faire pour que lorsqu'on supprime une ligne la référence supprimer donne son numéro au suivant, pour avoir les numéro qui se suivent. Si je supprime le 5 , on passe de 4 à 6, comment faire pour que que le 6 devienne 5 et que le 7 devienne 6 etc ...

    Merci d'avance.

Discussions similaires

  1. Userform : modifier et supprimer des enregistrements
    Par hylis dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 27/03/2015, 12h00
  2. [MySQL] supprimer des enregistrements de ma base
    Par arti2004 dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 26/06/2006, 15h08
  3. Réponses: 3
    Dernier message: 13/06/2006, 14h16
  4. Réponses: 4
    Dernier message: 14/10/2005, 09h54
  5. HELP!Comment supprimer des enregistrements de tables jointes
    Par ROOTPARIS dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 10/06/2004, 16h41

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo