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

Macros et VBA Excel Discussion :

Ouvrir une image en fonction d'une cellule via le VBA [XL-2019]


Sujet :

Macros et VBA Excel

  1. #21
    Membre confirmé
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Décembre 2019
    Messages
    119
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Eure et Loir (Centre)

    Informations professionnelles :
    Activité : Chargé d'affaire
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2019
    Messages : 119
    Par défaut
    Pour répondre a ta question je serais t'enté de dire qu'une seule variable car le dossier est déjà conçue pour afficher seulement les PI concerné filtrer sur une donné (exemple leur commune identique) donc l'utilisation de plusieurs variable ne serais pas forcement utile néanmoins il pourrais l’être a l'avenir suite aux rajout de certaine données.Apres réflexion je suis d'accord avec toi sur la non utilisation de la liste des donné qui serais une perte de temps. Je serais agréablement heureux si dans la fenêtre d'identification il y aurais un moyen de choisir la ville puits le numéro du poteau (ville+n'=Numéro du PI). Pour information les communes corresponde a un numéraux distincte qui fond partie du numéraux complet du PI ex: 28070-00001
    pour le premier PI d'une commune grâce a cela nous pourrions donc dans la fenêtre d'identification sélectionner la villes puis le numéro (ville-00001) et l'image apparaît. Cela te semble possible?
    J’espère ne pas t'avoir perdu dans mes explications si tu le souhaite je peux te le reformuler autrement.

  2. #22
    Membre chevronné
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2015
    Messages
    369
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2015
    Messages : 369
    Par défaut
    Que dirais-tu d'un affichage dynamique sur un Userform de toutes les informations relatives au numéro d'identification du Poteau Incendie choisi ?

    La mise en forme reste à faire et tu peux rajouter ce que tu veux pour alimenter le résultat. Mais visuellement parlant, afficher toutes les données sur un Userform est plus agréable (selon moi).
    La modification du N°SI (via une liste déroulante) mettrait la totalité du Userform à jour.

    Je te joins un exemple, pas très esthétique mais bon... pour que tu te fasses une idée.

    Affichage en Userform ou Ligne Excel ? Je te laisse faire ton choix, mais personnellement je partirai sur un Userform.

    Pour répondre à ta question, tu peux faire une liste déroulante dont les données sont dépendantes d'une autre liste déroulante. Dans l'idée :
    Ville 1 : Poteau A,B,C,D,E
    Ville 2 : Poteau F,G,H,I,J
    Ville 3 : Poteau K,L,M,N,O

    Liste Déroulante 1 : Ville 1, Ville 2, Ville 3

    Lorsque tu choisiras l'une des 3 villes via une première liste déroulante, la seconde sera mise à jour automatiquement en fonction du contenu prédéfini.

    Nom : Capture.PNG
Affichages : 277
Taille : 15,5 Ko

  3. #23
    Membre confirmé
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Décembre 2019
    Messages
    119
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Eure et Loir (Centre)

    Informations professionnelles :
    Activité : Chargé d'affaire
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2019
    Messages : 119
    Par défaut
    Tu as tout compris, et si on arrive a mettre sa en place sa serais vraiment super mais je t'avoue que le userform me fait un peut peur (j'en es jamais fait). Si cela ne te dérange pas, pourrais tu m'aider a le créé?
    Cela n'est pas dérangeant que nous créons énormément de texte sur le forum ou pouvons nous utiliser un autre moyen de communication?

  4. #24
    Membre chevronné
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2015
    Messages
    369
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2015
    Messages : 369
    Par défaut
    Je pense que communiquer ici n'est en rien un problème, au contraire nous pouvons toujours avoir de l'aide de personnes plus expérimentées que nous. La convergence des esprits pour résoudre un problème !

    Cela fait pour ma part très longtemps que je n'ai pas utilisé de Userform non plus, cela me permettra de replonger dedans !

    Dans un premier temps, il faut s'attarder sur l'alimentation de tes 2 listes déroulantes.

    L'objet que nous allons créer s'appelle un "ComboBox" - il s'agit d'une liste déroulante à choix unique. Nous allons donc en créer 2.

    ComboBox1 que nous renommerons CBSI
    ComboBox2 que nous renommerons CBVille

    Pour alimenter CBVille, il nous faut toutes les villes. Indiques-tu pour chaque poteau la ville qui lui est associée ? Si oui, il faudrait réussir à sortir chacune des villes de manière "unique" (aucun doublon). Ou bien, tu as un portefeuille de villes qui est fixe et dans ce cas tu peux tout de suite l'inscrire de la sorte.

    Pour alimenter CBSI, la variable sera le résultat indiqué par CBVille. Ainsi, chacune de ces villes aura sa propre liste déroulante de poteaux.

    Pour cela, tu peux utiliser un :
    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
     
    Select Case CBVille
    Case "Ville 1"
    Liste = Array("1,2,3,4,5...")
    Case "Ville 2"
    Liste = Array("6,7,8,9,10...")
    etc...
    End Select
     
    L = JoinList(Liste,",")
     
    'Les lignes suivantes ne correspondent pas. Je te les mets en brut parce que pour le coup je ne vois pas comment faire, et que c'est bientôt ma pause repas ^^ '
    'Peut-être remplacer " Range("A2") par "CBSI" mais étant donné que CBSI est une ComboBox et non un objet Range... Je ne suis pas sûr. '
        With Range("A2").Validation
            .Delete
            .Add xlValidateList, Formula1:=L
    'Cela transforme le tableau L en liste déroulante. '
        End With
    Néanmoins, si tu souhaites dans un premier temps effectuer tes 2 listes déroulantes sur Excel, le résultat pourra être tout aussi bon. On pourrait même envisager qu'une fois les valeurs saisies dans les 2 listes déroulantes validées par l'utilisateur (par l'action d'un bouton Validation) alors l'affichage du Userform s'effectuera. La manipulation des Listes Déroulantes se fera ainsi avec du VBA "simple" et non pas appliqué à un Userform (que je ne maîtrise pas). Et justement, pour la création d'une liste déroulante dépendant d'une autre liste déroulante, je te joins un post sur lequel j'ai travaillé et le résultat fonctionne. Tu n'as qu'à l'adapter à ta situation.

    Liste Déroulante variable dépendant d'une autre Liste Déroulante

    Il serait même préférable de faire de la sorte je dirai. Ainsi ton Userform ne serait qu'un affichage du résultat et non un formulaire dont tu dois modifier des variables.

    Sur ce, je te souhaite bonne réflexion. Je vais aller me sustenter. Bon courage !

  5. #25
    Membre chevronné
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2015
    Messages
    369
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2015
    Messages : 369
    Par défaut
    De retour de ma pause déjeuner !

    Je te propose le code ci-joint. Il est sûrement loin d'être optimal, mais il fonctionne très bien pour ce que je souhaite 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
    Sub TestLD()
        Dim lms1 As String, lms2 As String, lms3 As String
        Dim i As Integer, derLig As Integer, VilleC As Integer, VilleV As Integer
     
        lms1 = ""
        lms2 = ""
        lms3 = ""
     
        VilleC = Range("D1") 'VilleC comme Ville Constante - Il s'agit de la ville que saisira l'utilisateur à travers la liste déroulante'
        derLig = Range("A" & Rows.Count).End(xlUp).Row 'Accès à la dernière ligne non vide'
     
        For i = 2 To derLig 'Boucle jusqu'à la dernière ligne non vide'
            VilleV = Range("A" & i).Value 'Colonne A où se situent les codes de chaque ville - VilleV comme Ville Variable - qui peut supposément changer à chaque ligne'
            Select Case VilleV 'Choix de la variable dont différents cas sont possibles - 3 cas dans mon exemple'
            Case 1 'Seules les données des lignes dont la Cell(i,1) = 1 seront prises en compte'
                If lms1 = "" Then
                    lms1 = Cells(i, 2).Value
                Else
                    lms1 = lms1 & ", " & Cells(i, 2).Value
                End If 'Il s'agit d'une chaîne de caractère dont tous les éléments sont séparés d'une virgule. Cette syntaxe est importante, puisque réutilisée par la suite'
            Case 2 'Seules les données des lignes dont la Cell(i,1) = 2 seront prises en compte'
                If lms2 = "" Then
                    lms2 = Cells(i, 2).Value
                Else
                    lms2 = lms2 & ", " & Cells(i, 2).Value
                End If
            Case 3 'Seules les données des lignes dont la Cell(i,1) = 3 seront prises en compte'
                If lms3 = "" Then
                    lms3 = Cells(i, 2).Value
                Else
                    lms3 = lms3 & ", " & Cells(i, 2).Value
                End If
            End Select
        Next i
     
        Select Case VilleC 'Choisi via la Liste Déroulante située en D1'
        Case 1 'Si D1 = 1'
            With Range("F1").Validation
                .Delete
                .Add xlValidateList, Formula1:=lms1 'On ajoute une liste déroulante dont la formule correspond à la String lms1 - la syntaxe est primordiale pour que la liste déroulante soit créée'
            End With
        Case 2
            With Range("F1").Validation
                .Delete
                .Add xlValidateList, Formula1:=lms2 'Correspond à tous les Poteaux d'Incendie de la Ville 2'
            End With
        Case 3
            With Range("F1").Validation
                .Delete
                .Add xlValidateList, Formula1:=lms3 'Correspond à tous les Poteaux d'Incendie de la Ville 3'
            End With
        End Select
    End Sub
    Le tableur Excel n'est pas joli joli, je n'ai pas travaillé l'esthétique ahah. Tu as en D1 la Liste Déroulante des villes, et en F1 la Liste Déroulantes des Poteaux d'Incendie (mise à jour automatiquement grâce à la table de données en Colonne A et B ainsi que grâce à la ville choisie via la liste déroulante en D1.

    Je te proposerai de n'effectuer cette macro que lorsque l'utilisateur confirme les 2 valeurs saisies via les 2 listes déroulantes (Bouton de Validation), dans le cas où nous partirions sur un Userform.

    Dans le cas du Userform, il ne servirait QUE d'interface d'affichage. La seule interaction possible de la part de l'utilisateur serait de fermer ce dernier afin de saisir une nouvelle recherche.

    Il est par ailleurs possible, si tu souhaites malgré tout rester sur un affichage Excel, d'utiliser les 2 valeurs en D1 et F1 pour effectuer un filtre automatique basé sur ces 2 critères. Une ligne unique correspondant à ces deux critères s'affichera ainsi.

    Nom : Capture2.PNG
Affichages : 304
Taille : 7,7 Ko

  6. #26
    Membre chevronné
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2015
    Messages
    369
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2015
    Messages : 369
    Par défaut
    Tableur Excel

    • Colonne A : Code Ville (1, 2, 3 dans mon exemple)
    • Colonne B : N°SI
    • Colonne C : N°SDIS
    • Colonne D : Observations
    • Colonne E : Plan du PI
    • Cellule G1 : LD Ville
    • Cellule G2 : Données -> Validation des Données -> Liste Déroulante -> Saisir "1;2;3" (Code Ville)
    • Cellule H1 : LD PI
    • Cellule H2 : Un code créera cette liste déroulante. Voir plus bas.
    • Cellule I1 : N° Ligne Résultat
    • Cellule I2 : =LIGNE(INDEX(A:A;EQUIV(H2;B:B))) - Cette formule sortira le numéro de la ligne qui correspond à la ligne du N°SI du PI.


    Dossier d'Images

    • Toutes tes images des PI avec comme unique nom le N°SI ou le N°SDIS. Tant que ce numéro est unique et est référencé dans l'une des colonnes.


    Objet Userform
    • TextBox1 -> Renommer TBVille
    • TextBox2 -> Renommer TBSI
    • TextBox3 -> Renommer TBSDIS
    • TextBox4 -> Renommer TBObs
    • Image1 -> Renommer PicPI
    • Image2 -> Renommer PicPlan


    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
    66
     
    Sub TestLD()    Dim lms1 As String, lms2 As String, lms3 As String
        Dim i As Integer, derLig As Integer, VilleC As Integer, VilleV As Integer
     
        lms1 = ""
        lms2 = ""
        lms3 = ""
     
        VilleC = Range("G2")
        derLig = Range("A" & Rows.Count).End(xlUp).Row
     
        For i = 2 To derLig
            VilleV = Range("A" & i).Value
            Select Case VilleV
            Case 1
                If lms1 = "" Then
                    lms1 = Cells(i, 2).Value
                Else
                    lms1 = lms1 & ", " & Cells(i, 2).Value
                End If
            Case 2
                If lms2 = "" Then
                    lms2 = Cells(i, 2).Value
                Else
                    lms2 = lms2 & ", " & Cells(i, 2).Value
                End If
            Case 3
                If lms3 = "" Then
                    lms3 = Cells(i, 2).Value
                Else
                    lms3 = lms3 & ", " & Cells(i, 2).Value
                End If
            End Select
        Next i
     
        Select Case VilleC
        Case 1
            With Range("H2").Validation
                .Delete
                .Add xlValidateList, Formula1:=lms1
            End With
        Case 2
            With Range("H2").Validation
                .Delete
                .Add xlValidateList, Formula1:=lms2
            End With
        Case 3
            With Range("H2").Validation
                .Delete
                .Add xlValidateList, Formula1:=lms3
            End With
        End Select
    End Sub
     
     
    Sub UF()
    With PI
        .TBVille.Text = Cells(Range("I2"), 1).Value
        .TBSI.Text = Cells(Range("I2"), 2).Value
        .TBSDIS.Text = Cells(Range("I2"), 3).Value
        .TBObs.Text = Cells(Range("I2"), 4).Value
        .PicPI.Picture = LoadPicture("D:\....\" & .TBSI.Value & ".jpg")
        .PicPlan.Picture = LoadPicture("D:\...\" & .TBSI.Value & ".jpg") 'En supposant que ce soient des images elles aussi et qu'elles soient stockées de la même manière que les Images des PI (dans un autre dossier bien sûr) '
        .Show
    End With
    End Sub
    Ah dernier petit point, pour la fonction TestLD

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    Sub Worksheet_Change(ByVal Target As Range)
       If Target.Address = "$G$2" Then 'Cela mettra automatiquement la seconde liste déroulante à jour grâce au changement de valeur effectué dans la cellule G2 - Ville'
          Call TestLD
       End If
    End Sub
    Pour la fonction UF, exécute-la en tant que macro d'un bouton de validation. Tes supérieurs n'auront qu'à cliquer dessus lorsqu'ils auront réalisé leur choix à travers les 2 listes et ça affichera ton Userform.

  7. #27
    Membre confirmé
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Décembre 2019
    Messages
    119
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Eure et Loir (Centre)

    Informations professionnelles :
    Activité : Chargé d'affaire
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2019
    Messages : 119
    Par défaut
    J’espère que tu as bien mangé

    Bon après plus de 2 H de recherche (je suis sur les rotule ) je n'es trouvé le code qui permet de remplir une liste dans un combox. Nom : t8.png
Affichages : 282
Taille : 8,4 Ko (oui j'ai bien galéré pendant 2 h juste pour 3 lignes de code )

    Maintenant que c'est fait il faut définir la liste de CBSI en fonction du résultat de CBVille donc je suppose qu'il faut enregistrer le résultat dans une variable et effectuer une comparaison sur un tableau puis en sortir le résultat. (plus facile a dire qu'a faire n'es pas )

  8. #28
    Membre chevronné
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2015
    Messages
    369
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2015
    Messages : 369
    Par défaut
    Tu veux donc faire tes Listes Déroulantes à l'intérieur du Userform alors ?

    J'étais parti sur les Listes Déroulantes sur Excel, et une fois les résultats validés par l'utilisateur cela afficherait l'Userform avec toutes les données inscrites dedans.

    Essayons plutôt de cette manière-là, je pense que ça serait le plus efficace car je ne maîtrise absolument pas les ComboBox. Par contre j'ai déjà fait une Liste Déroulante, variable d'une autre Liste Déroulante. Tu trouveras un lien vers ce post 2 messages plus haut.

  9. #29
    Membre confirmé
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Décembre 2019
    Messages
    119
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Eure et Loir (Centre)

    Informations professionnelles :
    Activité : Chargé d'affaire
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2019
    Messages : 119
    Par défaut
    Pas de probléme je suis partant du moment que le résultat (image et géoloc) s'affiche en fonction de la sélection sa sera parfait !

  10. #30
    Membre chevronné
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2015
    Messages
    369
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2015
    Messages : 369
    Par défaut
    Dans ce cas, regarde mon message envoyé à 14h17. J'ai détaillé un maximum, mais si tu as des questions au sujet de ce message, je t'y répondrai volontiers !

  11. #31
    Membre confirmé
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Décembre 2019
    Messages
    119
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Eure et Loir (Centre)

    Informations professionnelles :
    Activité : Chargé d'affaire
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2019
    Messages : 119
    Par défaut
    Citation Envoyé par révèr Voir le message
    Dans ce cas, regarde mon message envoyé à 14h17. J'ai détaillé un maximum, mais si tu as des questions au sujet de ce message, je t'y répondrai volontiers !
    Ha oui je n'avais pas vue tout t'es messages je vais m'y appliquer maintenant.

    Ton code de 13h37 tu le mets dans un userform ou sur le bouton?

    Si joint un document excel pour testé et configurer tout sa.
    Nom : t9.png
Affichages : 304
Taille : 158,0 Ko

    ps: je fini a 16h30

  12. #32
    Membre chevronné
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2015
    Messages
    369
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2015
    Messages : 369
    Par défaut
    Je termine à 16h25, on est au moins raccord sur un point !

  13. #33
    Membre confirmé
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Décembre 2019
    Messages
    119
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Eure et Loir (Centre)

    Informations professionnelles :
    Activité : Chargé d'affaire
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2019
    Messages : 119
    Par défaut
    Bonjour Révèr commet vas tu?

    Bon forcément sa na pas fonctionné sinon c'est pas drôle mais je soupçonne fortement que j'ai effectuer une erreurs quelle que part.

    PB n'1: lors de l'exécution du programme il bug a la ligne 3 du code UF (rien dans la cellule "I2")

    PB n'2: je suppose que je n'es pas mis le code "Worksheet" au bon endroit, peu tu me le confirmer (voir image)

    PB n'3: il n'y a pas de code dans le userform?

    info n'1: le code "UF" est bien dans le bouton

    Je te remercie par avance pour tout ce que tu fait pour moi.

    Nom : t10.png
Affichages : 329
Taille : 47,6 KoNom : t11.png
Affichages : 360
Taille : 33,0 Ko

    C'est ma faute je t'es pas transféré les images actuelle

  14. #34
    Membre chevronné
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2015
    Messages
    369
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2015
    Messages : 369
    Par défaut
    Bonjour wouairness, ça va très bien merci et toi ?

    1) Si tu regardes ta capture d'écran, tu verras que tu commences à saisir en ligne 3. Ta cellule I2 est vide sur Excel. Il faut que tu renseignes sur VBA la cellule où tu as saisi la formule que je t'avais proposée de mettre en I2.

    PS : Lyon c'est avec un "y"

    2) Tu n'as pas besoin de préciser Worksheet si tu n'as qu'une seule feuille

    3) Aucun code dans le Userform en effet.

  15. #35
    Membre confirmé
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Décembre 2019
    Messages
    119
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Eure et Loir (Centre)

    Informations professionnelles :
    Activité : Chargé d'affaire
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2019
    Messages : 119
    Par défaut
    Je t'es fournie les infos supplémentaires juste au dessus j'avais oublié de te fournir les images lier a mes arguments.

  16. #36
    Membre chevronné
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2015
    Messages
    369
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2015
    Messages : 369
    Par défaut
    C'est normal que tu n'aies pas de résultat si tu ne suis pas l'organisation que je t'ai proposée.

    En I2 tu dois avoir la formule =LIGNE(INDEX(A:A;EQUIV(H2;B:B))).
    Donc :
    Colonne A = Colonne Ville. En A1 tu inscris "Ville" qui fera office d'en-tête de colonne. Sur les lignes suivantes tu renseignes le code de ta ville.
    H2 : Le N°SI qui est sorti via la Liste Déroulante.
    Colonne B = Colonne N°SI. En B1 tu inscris "N°SI" qui fera office d'en-tête de colonne. Sur les lignes suivantes tu renseignes les N°SI. Fais-en sorte que chaque PI ait un numéro unique ce qui permettra une identification plus claire.
    Colonne C = Colonne N°SDIS. En C1 tu inscris "N°SDIS" qui fera office d'en-tête de colonne. Sur les lignes suivantes tu renseignes les N°SDIS.
    Colonne D = Colonne Observation. En D1 tu inscris "Observation" qui fera office d'en-tête de colonne. Sur les lignes suivantes tu renseignes (ou laisse vide) les observations.

    C'est important que tu prennes conscience que si tu changes certaines cellules ou colonnes, tu dois faire en sorte que les paramètres suivent ! Si tu décides d'intervertir la colonne A et la colonne B, tu devras faire de même dans tout ton code et dans tes formules Excel. Fais bien attention à ça, c'est pour cela que j'ai défini un cadre pour que tu le respectes et teste de ton côté.

    Fais un tableur Excel correspondant aux données que j'ai inscrites plus en début de ce message.

  17. #37
    Membre confirmé
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Décembre 2019
    Messages
    119
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Eure et Loir (Centre)

    Informations professionnelles :
    Activité : Chargé d'affaire
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2019
    Messages : 119
    Par défaut
    Bon j'ai tout fait comme tu me la proposé mais j'ai tout de même deux question:

    1) Ou mets t'on les codes "Worksheet_Change" et "TestLD" ?

    2) Qu'es-que je mets dans "H2" ?

    "I2" a bien la fonction! mais n'affiche rien puisque H2 est vide.

    Le code "UF" est bien dans le bouton.

    ps: j'ai juste mis "=H1" dans H2 pour tester I2.

    Nom : t12.png
Affichages : 325
Taille : 24,0 Ko

  18. #38
    Membre chevronné
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2015
    Messages
    369
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2015
    Messages : 369
    Par défaut
    Tu mets tout dans Feuil1. C'est ta seule feuille. Donc le Worksheet_Change ne peut s'effectuer que sur cette feuille en question.

  19. #39
    Membre confirmé
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Décembre 2019
    Messages
    119
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Eure et Loir (Centre)

    Informations professionnelles :
    Activité : Chargé d'affaire
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2019
    Messages : 119
    Par défaut
    Nom : t13.png
Affichages : 290
Taille : 71,3 Ko

  20. #40
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    13 114
    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 : 13 114
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    La ligne soulignée en rouge, signifie qu'il y a une erreur de syntaxe.
    Après l'instruction Sub LeNom(), il est préférable d'aller à la ligne. Ainsi les instructions débutant par Dim seront à la ligne suivante et ainsi la syntaxe sera correcte.

    1) Ou mets t'on les codes "Worksheet_Change"
    La procédure Worksheet_Change est une procédure événementielle

    Pour en apprendre plus, je conseille la lecture de ce tutoriel titré Les évènements dans la feuille de calcul Excel
    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

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

Discussions similaires

  1. [XL-2007] Ouvrir un fichier a partir d une cellule excel sous VBA
    Par Fandeliza dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 28/02/2017, 17h36
  2. [LibreOffice][Tableur] [Basic] Ecrire une fonction dans une cellule via une macro
    Par xr dans le forum OpenOffice & LibreOffice
    Réponses: 1
    Dernier message: 01/10/2016, 16h09
  3. [XL-2010] Fonction Excel - Colorer une cellule via 2 paramètres
    Par lovebo dans le forum Excel
    Réponses: 1
    Dernier message: 13/01/2016, 15h29
  4. [XL-2010] Ecriture d'une fonction dans une cellule via VBA
    Par Seb-Office dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 11/11/2010, 17h39
  5. Ouvrir une form via une ComboBox
    Par Conficius dans le forum Composants VCL
    Réponses: 3
    Dernier message: 05/11/2005, 16h11

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