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

Excel Discussion :

Apprendre BDD excel


Sujet :

Excel

  1. #21
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2018
    Messages
    61
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2018
    Messages : 61
    Points : 28
    Points
    28
    Par défaut
    Re,

    d'accord je vais donc garder cette solution de côté et continuer avec find.

  2. #22
    Expert éminent sénior Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Points : 32 866
    Points
    32 866
    Par défaut
    Citation Envoyé par Calican Voir le message
    je suis en BTS Système Numérique 1ère annèe, peut-être cela pourra vous aiguiller sur une estimation de mes compétences.
    N'étant pas passer par cette filière, je n'ai aucune idée du contenu pédagogique de ce cursus. Donc ça n'aide pas vraiment.
    De plus, je me souviens des quelques cours d'informatique que j'ai pu avoir dans mes études post-bac : le prof en apprenait plus que nous pendant les TP (on était deux ou trois à faire en moins de 10 min ce qu'il avait prévu de nous faire faire en 4h).


    Ce code est l'exemple donner dans le lien qui a été envoyé au dessus.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    With Worksheets(1).Range("a1:a500") 
        Set c = .Find(2, lookin:=xlValues) 
        If Not c Is Nothing Then 
            firstAddress = c.Address 
            Do 
                c.Value = 5 
                Set c = .FindNext(c) 
            Loop While Not c Is Nothing And c.Address <> firstAddress 
        End If 
    End With
    Je ne comprends pas pourquoi tu intègres un FindNext à ton code. Tu as dis que ta date était unique. Dans ce cas, pourquoi en chercher plusieurs occurrences ?

    celui ci trouve bien la valeur ça c'est bon mais il remplace cette même valeur qui est 2 par 5 a la suite.
    Dans ton code, la variable "c" représente la cellule trouvée.
    Donc "c.Value = ..." va changer la valeur de cette cellule.
    Si tu veux que le code en modifie une autre, il faut lui dire où elle se trouve par rapport à la cellule trouvée, en utilisant la propriété Offset.
    Ou alors récupérer le numéro de ligne de cette cellule en utilisant la propriété Row et l'utiliser dans un Cells(,) pour désigner la cellule que tu souhaites.

    Et au niveau de mon propre code
    j'ai ça
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Private Sub Env_Don_Click()
     
    Dim madate As Date
    Dim c
     madate = CDate(Me.Date_Txt.Text)
     
    On Error Resume Next
    Vire ce "On Error Resume Next" !!!!!
    En phase de développement, ce type d'instruction est une horreur qui n'apporte que des ennuis.

    ça ne me fais pas d'erreur mais je ne sais pas encore si cela fonctionne vraiment du coup.
    C'est normal puisque tu lui as demander de ne pas tenir compte des erreurs.
    Du coup, ça ne fonctionne pas mais tu ne sais pas pourquoi.
    Sans le On Error Resume Next, ça ne fonctionnerait sans doute pas mieux mais au moins tu pourrais savoir pourquoi et tu aurais une chance de pouvoir le corriger.

    Citation Envoyé par 78chris Voir le message
    Find est plus rapide qu'une boucle !


    Je ne sais pas qui a conseillé de remplacer un Find par une boucle mais ça fait bricolage.
    Merci de cliquer sur pour chaque message ayant aidé puis sur pour clore cette discussion.

  3. #23
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2018
    Messages
    61
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2018
    Messages : 61
    Points : 28
    Points
    28
    Par défaut
    Re,

    Citation Envoyé par Menhir Voir le message

    Je ne comprends pas pourquoi tu intègres un FindNext à ton code. Tu as dis que ta date était unique. Dans ce cas, pourquoi en chercher plusieurs occurrences ?
    Ce n'est pas mon code mais celui du lien que vous m'avez envoyer.

    je disais seulement que j'avais compris ce que ce code si me disais mais que je ne savais pas vraiment comment l'adapter au mien.

    Dans ton code, la variable "c" représente la cellule trouvée.
    Donc "c.Value = ..." va changer la valeur de cette cellule.
    Si tu veux que le code en modifie une autre, il faut lui dire où elle se trouve par rapport à la cellule trouvée, en utilisant la propriété Offset.
    Ou alors récupérer le numéro de ligne de cette cellule en utilisant la propriété Row et l'utiliser dans un Cells(,) pour désigner la cellule que tu souhaites.
    D'accord je vais retirer les lignes qui n'ont dans touts les cas rien a faire la.

    Vire ce "On Error Resume Next" !!!!!
    En phase de développement, ce type d'instruction est une horreur qui n'apporte que des ennuis.

    C'est normal puisque tu lui as demander de ne pas tenir compte des erreurs.
    Du coup, ça ne fonctionne pas mais tu ne sais pas pourquoi.
    Sans le On Error Resume Next, ça ne fonctionnerait sans doute pas mieux mais au moins tu pourrais savoir pourquoi et tu aurais une chance de pouvoir le corriger.
    Fait, et oui du coup j'ai bien une erreur merci.

    Nom : Capture_err.PNG
Affichages : 136
Taille : 3,6 Ko

    Nom : Capture_deb.PNG
Affichages : 139
Taille : 16,4 Ko

  4. #24
    Expert éminent sénior Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Points : 32 866
    Points
    32 866
    Par défaut
    Citation Envoyé par Calican Voir le message
    Ce n'est pas mon code mais celui du lien que vous m'avez envoyer.
    Ce lien sert juste à comprendre la syntaxe et l'utilisation de la méthode Find.
    L'exemple qu'il contient n'est bien sûr pas à appliquer directement à ton code. Il faut en comprendre chaque élément pour savoir comment l'adapter à ton cas.

    je disais seulement que j'avais compris ce que ce code si me disais mais que je ne savais pas vraiment comment l'adapter au mien.
    C'est sûr que si pour toi "adapter" ça veut dire faire un copier/coller, ça ne va pas fonctionner.

    Fait, et oui du coup j'ai bien une erreur merci.
    Regarde l'aide de la méthode Find, sa syntaxe et ses paramètres.

    Mais comme je sens que tu vas faire une demande ici chaque fois que tu vas rencontrer un bug avant même d'avoir pris la peine de rechercher sérieusement par toi-même, je crois que je vais un peu m'éloigner de cette discussion.
    Merci de cliquer sur pour chaque message ayant aidé puis sur pour clore cette discussion.

  5. #25
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2018
    Messages
    61
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2018
    Messages : 61
    Points : 28
    Points
    28
    Par défaut
    Re,

    Je ne me fou pas de vous, je ne comprend vraiment pas.
    j'avoue que mettre m'as bloqué longtemps, c'était une erreur.

    j'ai donc la ligne surligné en jaune et j'ai tenté toute sorte de chose comme :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    compare = Cells.Find(madate, LookIn:=xlDate)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    compare = Cells.Find(Me.Date_Txt.Value, LookIn:=xlDate, LookAt:=xlWhole) 'car ma date viens de la valeur de Date_Txt converti avec CDate
    ou encore la première

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    compare = .Find(madate, LookIn:=xlDate)
    je ne comprend pas , ce qu'il ne va pas.

    Je lui dit bien regarde dans la plage A1:A800 si madate y est ? (en tout cas c'est ce que je crois lui demander depuis tout a l'heure)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
     With Worksheets(3).Range("A1:A800") 'Va a la feuille 3 et cellules de ("A1 à A800)
     
       madate = CDate(Me.Date_Txt.Text)
     
        compare = .Find(madate, LookIn:=xlDate) 'Met Méthode .Find dans compare
     
            If compare Is Nothing Then ' Si compare ne trouve rien alors
     
                MsgBox ("La date n'as pas été trouvé.")
     
            Do 
     
            Loop While Not compare Is Nothing And compare.Address <> firstAddress
     
            End If
     
        End With

  6. #26
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2018
    Messages
    61
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2018
    Messages : 61
    Points : 28
    Points
    28
    Par défaut
    Re,

    Voila c'est exactement ce que j'ai en ce moment et exactement ce que je comprend pourtant il m'affiche qu'il ne trouve pas la date.


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    With Worksheets(3).Range("A:A") 'Va a la feuille 3 et range A
     
        compare = .Find(madate) 'Met Méthode .Find dans compare
     
            If compare Is Nothing Then ' Si compare ne trouve rien alors
     
                MsgBox ("La date n'as pas été trouvé.")
     
            Do 'Faire
     
            num_ligne = num_ligne + 1
     
            Loop While compare Is Nothing And compare.Address <> madate ' Tant que compare ne trouve rien et que compare et different de firstadress
     
            End If
     
        End With

  7. #27
    Expert éminent sénior

    Profil pro
    Conseil, Formation, Développement - Indépendant
    Inscrit en
    Février 2010
    Messages
    8 420
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Conseil, Formation, Développement - Indépendant

    Informations forums :
    Inscription : Février 2010
    Messages : 8 420
    Points : 16 264
    Points
    16 264
    Par défaut
    BOnjour

    As-tu testé en mode debug que la date que tu cherches est bien au format date ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Dim compare As Range
    Set compare = Worksheets(1).Range("a1:a500").Find(CDate(Me.Date_Txt.Value), LookAt:=xlWhole)
    If compare is nothing then msgbox "non trouvé"
    doit marcher

    Ne pas oublier au préalable de tester que la saisie est bien une date valide
    Chris
    PowerQuery existe depuis plus de 13 ans, est totalement intégré à Excel 2016 &+. Utilisez-le !

    Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson.
    Confucius

    ----------------------------------------------------------------------------------------------
    En cas de résolution, n'hésitez pas cliquer sur c'est toujours apprécié...

  8. #28
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2018
    Messages
    61
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2018
    Messages : 61
    Points : 28
    Points
    28
    Par défaut
    Citation Envoyé par 78chris Voir le message
    BOnjour

    As-tu testé en mode debug que la date que tu cherches est bien au format date ?
    Oui apparemment cette partie la ne pose plus problème après les dernières modifications.

    Le code a l'air de fonctionner car quand je lui demande de chercher une date existante dans ma colonne il trouve mais quand je lui donne une date impossible comme 01/01/1799. (rapport improblable).
    Il me dit bien date introuvable et hop petit crash avec l'erreur 91

    Nom : Capture55.PNG
Affichages : 115
Taille : 28,7 Ko

    Nom : Capture56.PNG
Affichages : 114
Taille : 21,1 Ko


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
     With Worksheets(3).Range("A:A") 'Va a la feuille 3 et range A
      madate = CDate(Me.Date_Txt.Text)
       Set compare = .Find(madate) 'Met Méthode .Find dans compare
     
            If compare Is Nothing Then ' Si compare ne trouve rien alors
     
                MsgBox ("La date n'as pas été trouvé.")
     
     
            Do 'Faire
     
            num_ligne = num_ligne + 1
     
            Loop While compare Is Nothing And compare.Address <> madate ' Tant que compare ne trouve rien et que ce que contient compare et different de madate
     
            End If
     
        End With
     
    End Sub
    Ne pas oublier au préalable de tester que la saisie est bien une date valide
    le format de saisie sera forcement valide car la date vien du calendrier, par contre la date en elle même comme dit si dessus par exemple 01/01/1799 est complètement impossible.

    Je part chercher comment régler cette erreur.

    Merci à tous pour votre aide.

  9. #29
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2018
    Messages
    61
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2018
    Messages : 61
    Points : 28
    Points
    28
    Par défaut
    Re, dans la fenêtre espion je vois que le type de compare.Address et un Int variable, cependant stocker une date dans un int c'est pas vraiment possible avec les / ?

    Cela peut venir de la ? Ou peut-être que je vais chercher trop loin ?

    "Variable objet ou variable de with non définie" je ne vois pas quel variable déclarer puisque .Address n'est pas une variable et compare est déclaré comme :

  10. #30
    Membre extrêmement actif
    Homme Profil pro
    aucune
    Inscrit en
    Avril 2016
    Messages
    7 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 82
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Avril 2016
    Messages : 7 563
    Points : 12 422
    Points
    12 422
    Par défaut
    Bonjour
    drôle d'idée, que celle de rechercher tant qu'une adresse est différente d'une ... date.
    Je n'accepte pas de demande d' "amitié" individuelle. Tout développeur est pour moi un ami.
    Je n'ouvre AUCUN classeur tiers (avec ou sans macro ******). Ne m'en proposez donc pas .

    ****** : Non, non ... un classeur .xlsx ne "peut" par exemple et entre autres pas contenir un activex (de surcroît invisible) , "bien sûr" ...

    Il est illusoire de penser que l'on saurait exprimer valablement et précisément en un langage (rigide) de développement ce que l'on peine à exprimer dans le langage naturel, bien plus souple.

  11. #31
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2018
    Messages
    61
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2018
    Messages : 61
    Points : 28
    Points
    28
    Par défaut
    Re,

    Citation Envoyé par unparia Voir le message
    Bonjour
    drôle d'idée, que celle de rechercher tant qu'une adresse est différente d'une ... date.
    Désolé je comprenais que compare.Address contient madate quand elle existe, sinon il ne contient rien.

    mais je me suis dit que c'était bon au départ puisque si je retire .Address il ne me donne aucune indication, par exemple quand je selectionne 01/01/1800

    Il ne me dit pas qu'il n'a pas trouvé la date.

    Edit: Je reviens sur ce que j'ai dit j'ai remis et retirer Address et l'erreur est la même

    Et compare a l'air de ne rien recevoir du tout.

  12. #32
    Expert éminent sénior Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Points : 32 866
    Points
    32 866
    Par défaut
    Citation Envoyé par Calican Voir le message
    Re, dans la fenêtre espion je vois que le type de compare.Address et un Int variable
    On voit surtout que "compare" est Nothing.
    Ca ne te semble pas logique que VBA bugue quand on lui demande l'Address d'un élément qui est... rien ?
    Merci de cliquer sur pour chaque message ayant aidé puis sur pour clore cette discussion.

  13. #33
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2018
    Messages
    61
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2018
    Messages : 61
    Points : 28
    Points
    28
    Par défaut
    Re,

    Citation Envoyé par Menhir Voir le message
    On voit surtout que "compare" est Nothing.
    Ca ne te semble pas logique que VBA bugue quand on lui demande l'Address d'un élément qui est... rien ?
    Re, si cela me semble logique j'ai fini par le voir et l'annoncer dans le message precedent.

    Cela vous semble certainement très simple mais je vous confirme que pour moi c'est un vrai casse tête, votre expérience fait surement que vous savez ou aller chercher l'information et comment la traiter.

    Malheureusement j'ai moins d'un ans de programmation derrière moi et encore, cela ne me parait pas tout de suite vraiment évident.
    Une fois que cela fonctionnera, je ne reproduirais plus la même erreur.

    Désolé pour les desagrements.


    Edit : j'ai remplacer And par Or dans ma boucle et plus de crash.

  14. #34
    Expert éminent sénior Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Points : 32 866
    Points
    32 866
    Par défaut
    Citation Envoyé par Calican Voir le message
    Edit : j'ai remplacer And par Or dans ma boucle et plus de crash.
    Ca ne te semble pas incohérent de lancer une boucle si compare est Nothing mais de la faire tourner jusqu'à ce que compare ne soit pas Nothing (sans que compare soit modifié)...

    C'est toute la boucle qu'il faudrait supprimer vu qu'elle est inutile.
    Merci de cliquer sur pour chaque message ayant aidé puis sur pour clore cette discussion.

  15. #35
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2018
    Messages
    61
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2018
    Messages : 61
    Points : 28
    Points
    28
    Par défaut
    Citation Envoyé par Menhir Voir le message
    Ca ne te semble pas incohérent de lancer une boucle si compare est Nothing mais de la faire tourner jusqu'à ce que compare ne soit pas Nothing (sans que compare soit modifié)...

    C'est toute la boucle qu'il faudrait supprimer vu qu'elle est inutile.
    Je me suis obstiné avec cette boucle par ce que pour moi elle servait aussi a lire ma colonne pour retrouver ma date mais Find le fait déja en fait.
    Désolé je suis long a la détente

    Du coup j'ai essayé comme ça mais le text du textbox ne ce stocke pas dans la cellules que je veut .
    J'ai mis en commentaire exactement ce que je comprend faire.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
     
     
     With Worksheets(3).Range("A:A") 'Va a la feuille 3 et range A
     
       Set compare = .Find(madate) 'Met Méthode .Find dans compare
     
            If compare Is Nothing Then ' Si compare ne trouve rien alors
     
                MsgBox ("La date saisie est incorrect.")
     
            ElseIf compare = madate Then 'Sinon si compare = madate alors
     
            Sheets("Feuil2").Cells(compare, 2).Value = TextBox1.Text 'dans Feuil2 a la cellule de compare, colonne 2 écrire le txt de textbox1
     
            End If
     
     
        End With
     
    End Sub

  16. #36
    Expert éminent sénior Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Points : 32 866
    Points
    32 866
    Par défaut
    Regarde la syntaxe de l'objet Cells, en particulier quel est la nature du premier paramètre.

    Citation Envoyé par Calican Voir le message
    Cela vous semble certainement très simple mais je vous confirme que pour moi c'est un vrai casse tête, votre expérience fait surement que vous savez ou aller chercher l'information et comment la traiter.
    Malheureusement j'ai moins d'un ans de programmation derrière moi et encore, cela ne me parait pas tout de suite vraiment évident.
    Ce que je remarque surtout, c'est que tu ne te donnes pas vraiment la peine de chercher par toi-même à résoudre les problèmes vu la vitesse à laquelle tu fais tes demandes à chaque résolution.
    Etre débutant ne t'handicape pas pour consulter l'aide VBA qui est accessible par une touche (F1) et très bien conçue.
    Merci de cliquer sur pour chaque message ayant aidé puis sur pour clore cette discussion.

  17. #37
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2018
    Messages
    61
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2018
    Messages : 61
    Points : 28
    Points
    28
    Par défaut
    Citation Envoyé par Menhir Voir le message
    Regarde la syntaxe de l'objet Cells, en particulier quel est la nature du premier paramètre.


    Je que je remarque surtout, c'est que tu ne te donnes pas vraiment la peine de chercher par toi-même à résoudre les problèmes vu la vitesse à laquelle tu fais tes demandes à chaque résolution.
    Etre débutant ne t'handicape pas pour consulter l'aide VBA qui est accessible par une touche (F1) et très bien conçue.

    je regarde en même temps pas de soucis, je suis actuellement sur ce lien car j'avais taper mon erreur sur le forum et je suis tomber sur une proposition d'aller voir ce tutoriel :
    https://loufab.developpez.com/tutori...pelformulaire/

  18. #38
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2018
    Messages
    61
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2018
    Messages : 61
    Points : 28
    Points
    28
    Par défaut
    Bonjour à tous,

    J'ai avancé et suis arriver a ce que je voulais faire.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    Private Sub Env_Don_Click()
     
    Dim madate As Date
    Dim ligne As Integer
    Dim oWksht As Worksheet
    Dim lastrow As Long
    Dim myCell As Range
    madate = CDate(Me.Date_Txt.Text)
     
    Sheets("Feuil1").Select
    Sheets("Feuil1").Unprotect "543210"
     
        Range("C6") = TextBox1.Value
        Range("C7") = TextBox2.Value
        Range("C8") = TextBox3.Value
        Range("C9") = TextBox4.Value
        Range("C10") = TextBox5.Value
        Range("C11") = TextBox6.Value
        Range("B32").Value = TextBox7.Text
        Range("G4") = Date_Txt.Text
        Range("C16") = TextBox8.Value
        Range("C17") = TextBox9.Value
        Range("C18") = TextBox10.Value
     
    Sheets("Feuil1").Protect "543210"
     
    Sheets("Feuil2").Visible = True
    Sheets("Feuil2").Select
     
    Set oWksht = Sheets("Feuil2")
     
    lastrow = oWksht.Range("A" & Rows.Count).End(xlUp).Row 'Rows.Count descend a la dernière ligne de la feuil1 plage A puis remonte avec .End(xlUp).row a la dernière ligne remplie et en prend la valeur
     
    Range("A1").Activate
     
    Set myCell = oWksht.Range("A14:A" & lastrow).Find(what:=madate, LookIn:=xlValues, _
            LookAt:=xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
            MatchCase:=False, SearchFormat:=False)
     
            If myCell Is Nothing Then
     
      MsgBox ("Date incorrect.")
     
            ElseIf Not myCell Is Nothing Then
     
    ligne = myCell.Row 'Ligne de la date
    Sheets("Feuil2").Cells(ligne, 2).Value = TextBox1.Text 'Parcipant
    Sheets("Feuil2").Cells(ligne, 3).Value = TextBox2.Text 'Parcipant
    Sheets("Feuil2").Cells(ligne, 4).Value = TextBox3.Text 'Parcipant
    Sheets("Feuil2").Cells(ligne, 5).Value = TextBox4.Text 'Parcipant
    Sheets("Feuil2").Cells(ligne, 6).Value = TextBox5.Text 'Parcipant
    Sheets("Feuil2").Cells(ligne, 7).Value = TextBox6.Text 'Parcipant
    Sheets("Feuil2").Cells(ligne, 8).Value = TextBox7.Text 'commentaire
    Sheets("Feuil2").Cells(ligne, 9).Value = TextBox8.Text 'accident
    Sheets("Feuil2").Cells(ligne, 10).Value = TextBox9.Text 'accident
    Sheets("Feuil2").Cells(ligne, 11).Value = TextBox10.Text 'accident
     
     
    End If
     
    ActiveWindow.SelectedSheets.Visible = False
     
    Exit Sub
     
    End Sub
    Merci pour votre aide.

  19. #39
    Expert éminent sénior Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Points : 32 866
    Points
    32 866
    Par défaut
    Remplace
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
            ElseIf Not myCell Is Nothing Then
    Par
    et supprime le dernier
    Merci de cliquer sur pour chaque message ayant aidé puis sur pour clore cette discussion.

  20. #40
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2018
    Messages
    61
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2018
    Messages : 61
    Points : 28
    Points
    28
    Par défaut
    Re,

    C'est fait.

    Mais du coup est ce que le programme s'attend a avoir autre chose après mon ElseIf si je le laisse ?

    Ou par ce que c'est pas propre ? Et pourquoi retirer le Exit Sub ?

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 3 PremièrePremière 123 DernièreDernière

Discussions similaires

  1. Convertir un fichier word en une BDD excel
    Par Kiefer_Sutherland dans le forum Excel
    Réponses: 11
    Dernier message: 01/09/2007, 13h40
  2. BDD Excel python et graphique , bref tout un programme :)
    Par Iria77 dans le forum Calcul scientifique
    Réponses: 3
    Dernier message: 24/08/2007, 15h24
  3. BDD Excel avec VB6
    Par RuDaï KiRi dans le forum VB 6 et antérieur
    Réponses: 26
    Dernier message: 27/06/2007, 19h15
  4. [Vba] BDD : Excel + Access + Vba
    Par Emcy dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 04/11/2005, 10h23
  5. Transformer une Bdd Excel en Bdd Access
    Par Golork dans le forum Bases de données
    Réponses: 2
    Dernier message: 04/08/2005, 16h40

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