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 :

Comment savoir si une ligne est totalement visible à l'écran ? [XL-2013]


Sujet :

Macros et VBA Excel

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Août 2015
    Messages
    99
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2015
    Messages : 99
    Points : 30
    Points
    30
    Par défaut Comment savoir si une ligne est totalement visible à l'écran ?
    Bonsoir à tous !

    J'ai encore une question et je viens donc une nouvelle fois solliciter votre aide

    Je voudrais déterminer si le bas d'une ligne est affiché à l'écran car j'ai besoin d'y ajouter des boutons dynamiquement (histoire que certains d'entre vous doivent commencer à connaître...).
    Typiquement, dans la copie d'écran ci-après, seule la partie haute des boutons est affichée (Cf. bas de la copie d'écran, colonne Règle d'alimentation du champ) et il faudrait donc que je fasse un scroll vertical de l'écran.


    Nom : écran avec boutons en bas.JPG
Affichages : 1729
Taille : 285,4 Ko

    Je suis parti de ma fonction qui permet de savoir si la ligne concernée est affichée, et je me suis dit que j'allais vérifier que le bas de ladite ligne (calculée à partir de ses .top et .height) était inférieur à la hauteur de la fenêtre, mais ça ne marche pas car de toute évidence j'ai un problème d'unité :
    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
     
        Nombre_de_lignes_visibles = Windows(1).VisibleRange.Rows.Count
        Première_ligne_visible = ActiveWindow.ScrollRow
     
        La_ligne_est_au_moins_partiellement_visible = False
        If (N°_de_ligne_à_examiner >= Première_ligne_visible) _
        And (N°_de_ligne_à_examiner <= Première_ligne_visible + Nombre_de_lignes_visibles - 1) Then
            La_ligne_est_au_moins_partiellement_visible = True
        End If
     
        If La_ligne_est_au_moins_partiellement_visible = False Then
            Le_bas_de_la_ligne_est_visible = False
        Else
            If N°_de_ligne_à_examiner < Première_ligne_visible + Nombre_de_lignes_visibles - 1 Then
                Le_bas_de_la_ligne_est_visible = True
            Else
                With ActiveSheet.Rows(N°_de_ligne_à_examiner)
                    If (.Top + .Height <= Windows(1).Top + Windows(1).Height) Then
                        Le_bas_de_la_ligne_est_visible = True
                    Else
                        Le_bas_de_la_ligne_est_visible = False
                    End If
                End With
            End If
        End If
    À titre d'exemple, si je prends la ligne au dessus des boutons, activesheet.rows(14).top + activesheet.rows(14).height = 596 alors que Windows(1).Top + Windows(1).Height = 540 [le zoom est à 100% et la fenêtre qui est en plein écran est cadrée en haut et à gauche].

    Ce qui me complique un peu la vie, je pense, c'est que la colonne "Résultat avec le document de test" pour comporter des cellules fusionnées (cas où plusieurs "Règles d'alimentation" viennent alimenter le même "Champ à alimenter")
    Pouvez-vous m'aider une nouvelle fois, s'il vous plait, sachant que je souhaite minimiser les clignotements de l'écran ?

    Merci d'avance
    Gilbert

  2. #2
    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
    Ce qui me complique un peu la vie, je pense, c'est que la colonne "Résultat avec le document de test" pour comporter des cellules fusionnées
    tout-à-fait
    Ce n'est jamais une bonne idée que de fusionner des cellules.
    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.

  3. #3
    Membre confirmé
    Homme Profil pro
    Alternant
    Inscrit en
    Décembre 2015
    Messages
    413
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Alternant

    Informations forums :
    Inscription : Décembre 2015
    Messages : 413
    Points : 584
    Points
    584
    Par défaut
    Je suis pas sur d'avoir bien compris la demande mais en général pour vérifier qu'une ligne est cachée ou non j'utilise :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If Range("A1").EntireRow.Hidden = True Then ...
    C'est en creusant qu'on fait des trous

  4. #4
    Nouveau membre du Club
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Août 2015
    Messages
    99
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2015
    Messages : 99
    Points : 30
    Points
    30
    Par défaut
    Citation Envoyé par unparia Voir le message
    Bonjour

    tout-à-fait
    Ce n'est jamais une bonne idée que de fusionner des cellules.
    Hummm ! oui, d'accord, mais quand on a 1 à 10 "règles d'alimentation" [1 règle par ligne] qui se combinent pour donner un résultat et qu'on veut soigner l'ergonomie de son logiciel, c'est quand même assez logique d'avoir une cellule résultat unique, non ?

    Je m'en suis sorti jusqu'ici pour
    • ajuster la hauteur de chaque ligne conformément au paramétrage choisi par l'utilisateur
      • l'utilisateur peut fixer la hauteur des lignes (facile)
      • l'utilisateur peut vouloir voir le résultat dans sa totalité auquel cas j'ajuste la hauteur de chaque ligne qui se combine pour donner le résultat pour que la hauteur de la cellule combinée "Résultat" soit la bonne [le fait que la cellule soit fusionnée permet d'outre passer la limite de 409 pour une hauteur de ligne]
      • l'utilisateur peut vouloir voir chaque règle d'alimentation dans son intégralité, auquel cas j'ajuste la hauteur des lignes sur celle de chacune des cellules "Règle d'alimentation", quitte à ce que la cellule résultat soit trop petite pour afficher la totalité du résultat
    • permuter 2 règles d'alimentation [et donc 2 lignes] sans perdre les hauteurs calculées ni mes autres attributs liés aux formats conditionnels

    ... je ne vais donc pas capituler avant de savoir si ma ligne est totalement visible ou pas, si ?

  5. #5
    Nouveau membre du Club
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Août 2015
    Messages
    99
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2015
    Messages : 99
    Points : 30
    Points
    30
    Par défaut
    Citation Envoyé par Al__22 Voir le message
    Je suis pas sur d'avoir bien compris la demande mais en général pour vérifier qu'une ligne est cachée ou non j'utilise :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If Range("A1").EntireRow.Hidden = True Then ...
    Bonjour
    Non, il ne s'agit pas de ça : je ne parle pas de lignes masquées ou affichées, mais de lignes qui apparaissent ou non à l'écran à un moment donné : si la ligne n'apparait pas, alors c'est qu'il faut faire défiler l'ascenseur vers le haut ou vers le bas pour la faire apparaître.

    Ce que je sais faire, c'est de déterminer si une ligne apparaît au moins partiellement à l'écran.
    Ce que je voudrais faire c'est déterminer si le bas de ladite ligne apparaît bien ou non.

    Comprends-tu ?

    En tout cas, merci pour ton implication.
    Gilbert

  6. #6
    Invité
    Invité(e)
    Par défaut
    bonjour,
    pour information un if vérifie si l’expression est vraie ou fausse true/false!

    alors pourquoi la tester pour affecter une même valeur?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    With ActiveSheet.Rows(N°_de_ligne_à_examiner)
                    If (.Top + .Height <= Windows(1).Top + Windows(1).Height) Then
                        Le_bas_de_la_ligne_est_visible = True
                    Else
                        Le_bas_de_la_ligne_est_visible = False
                    End If
     End With
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Le_bas_de_la_ligne_est_visible=(.Top + .Height <= Windows(1).Top + Windows(1).Height)
    Dernière modification par Invité ; 28/11/2016 à 10h49.

  7. #7
    Membre émérite
    Inscrit en
    Octobre 2010
    Messages
    1 401
    Détails du profil
    Informations forums :
    Inscription : Octobre 2010
    Messages : 1 401
    Points : 2 684
    Points
    2 684
    Par défaut
    Bonjour.

    Si les cellules fusionnees sont toutes en colonne A, sinon adapter :

    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
    Sub test()
     
    dernierevisible = ActiveWindow.ScrollRow + ActiveWindow.VisibleRange.Rows.Count - 1
     
    Set RVisible = ActiveWindow.VisibleRange
     
    Set ma = RVisible(RVisible.Rows.Count, 1).MergeArea
    lastcell = ma(ma.Rows.Count, 1).Row
     
    Set a = RVisible.Resize(RVisible.Rows.Count + (lastcell - dernierevisible), 1)
    derna = a.Cells(a.Rows.Count, 1).Row
     
    Set Rng = ActiveWindow.VisibleRange
    dernactive = Rng.Cells(Rng.Rows.Count, 1).Row
     
    While dernactive < derna
      ActiveWindow.ScrollRow = ActiveWindow.ScrollRow + 1
     
      Set Rng = ActiveWindow.VisibleRange
      dernactive = Rng.Cells(Rng.Rows.Count, 1).Row
    Wend
     
    End Sub
    Cordialement

    Docmarti.

  8. #8
    Nouveau membre du Club
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Août 2015
    Messages
    99
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2015
    Messages : 99
    Points : 30
    Points
    30
    Par défaut
    Citation Envoyé par dysorthographie Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    With ActiveSheet.Rows(N°_de_ligne_à_examiner)                If (.Top + .Height <= Windows(1).Top + Windows(1).Height) Then
                        Le_bas_de_la_ligne_est_visible = True
                    Else
                        Le_bas_de_la_ligne_est_visible = False
                    End If EndWith
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Le_bas_de_la_ligne_est_visible=(.Top + .Height <= Windows(1).Top + Windows(1).Height)
    Bonjour !

    Je suis tout à fait d'accord avec toi sur le fait que ta façon d'écrire est beaucoup plus concise et performante (1,398438 secondes d'un côté et 0.8359375 secondes de l'autre, soit presque 40 % de gain, mais sur une boucle de 100 millions de tests ), mais si j'écris ça comme ça c'est pour 2 raisons :

    1. je veux pouvoir lire mon code un peu comme un roman et du coup j'ai des noms de variables ou de fonctions / procédures très explicites mais forcément longs comme par exemple
      • CCRA_Ajouter_une_ou_des_valeurs_séparées_par_des_Pieds_de_mouche_à_la_liste_des_champs_sources_potentiels_créés_par_l_utilisateur_ou_par_le_programme
      • CCRA_Gérer_la_mise_en_forme_y_compris_les_formats_conditionnels_Afficher_et_masquer_les_lignes_qui_doivent_l_être_Rétablir_l_ordre_d_affichage_et_Gérer_le_ScrollArea_de_l_Onglet_d_apprentissage_courant
      • Les_tableaux_suite_sont_nécessairement_sur_une_ou_des_pages_différentes_de_celle_du_tableau_principal_auquel_ils_sont_rattachés
      • Différence_de_position_verticale_entre_Changement_visuel_Transition_phrase_tableau_et_Changement_visuel_Traiter_les_tableaux_comme_une_suite_de_phrases_EN_RENTRANT
      et du coup, même avec un écran de bonnes dimensions (27") et de bonne définition (2560 x 1440) et avec une police de 9, j'ai certaines lignes de code trop longues pour apparaître en totalité à l'écran et j'ai donc pris pour règle de décomposer mes lignes de code
    2. en fait, je n'écris pas "= True", mais "= GLF_True" [GLF étant mes initiales], avec GLF_True définie par Public Const GLF_True As Boolean = -1 : quand j'obfusque mon code la ligne devient encore plus compliquée à lire, et du coup je me dis que j'ajoute une pierre au mur qui me protège du piratage

  9. #9
    Invité
    Invité(e)
    Par défaut
    pour le piratage,
    tu fais une dll en vb6 (c'est exactement le même langage), visual studio6 est passé dans le domaine public!

    https://winworldpc.com/download/342d...5-7054d21a8599

    vb6 c'est l'avenir du vba! et de plus je penses que ça réglerait tous tes problème!
    et qu'on ne me parle pas d'usine à gaze! car comme je l'ai dit c'est le même code!

  10. #10
    Membre confirmé
    Homme Profil pro
    Alternant
    Inscrit en
    Décembre 2015
    Messages
    413
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Alternant

    Informations forums :
    Inscription : Décembre 2015
    Messages : 413
    Points : 584
    Points
    584
    Par défaut
    Citation Envoyé par CognitiKom Voir le message
    du coup je me dis que j'ajoute une pierre au mur qui me protège du piratage
    Je vais peut être passer pour une andouille mais :
    Qui voudrais pirater un code VBA ?
    C'est en creusant qu'on fait des trous

  11. #11
    Nouveau membre du Club
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Août 2015
    Messages
    99
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2015
    Messages : 99
    Points : 30
    Points
    30
    Par défaut
    Alors là, crois-moi ou pas mais tu m'intéresses (en tout bien tout honneur s'entend )

    J'avais déjà discuté ici des problèmes de piratage et d'obfuscation, et à part récrire tout dans un autre langage personne ne m'a rien proposé. J'ai conscience qu'il faudra que j'y passe un jour [encore une fois je suis resté sous Excel pour des raisons historiques], mais je repousse ça après ma première version commercialisable.

    Mais je ne comprends pas : j'ai environ 78000 lignes de code (hors lignes blanches et commentaires) réparties en 1000 procédures ou fonctions dans une vingtaine de UserForm + une trentaine de modules + des onglets (quand j'ai des onglets dupliqués, je ne compte le code qu'une fois bien sûr). Tout ça plus une autre partie, environ 5 à 6000 lignes, en VBA Word.

    Qu'entends-tu par : tu fais une DLL ? Une DLL du tout ?

    (Un grand) Merci d'avance
    Gilbert

  12. #12
    Nouveau membre du Club
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Août 2015
    Messages
    99
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2015
    Messages : 99
    Points : 30
    Points
    30
    Par défaut
    Citation Envoyé par Al__22 Voir le message
    Je vais peut être passer pour une andouille mais :
    Qui voudrais pirater un code VBA ?
    Ben, je suis peut-être parano, mais je me dis que si je commercialise un outil sur lequel je vais avoir travaillé plus de 2 ans à raison de 15 à 17 h / j, 7 j/7, sachant qu'a priori cet outil n'a pas d'équivalent sur le marché et qu'il répond à un véritable besoin, j'ai quand même des risques de me le faire pirater. Soit pirater par un éditeur éventuel pour qu'il en fasse sa propre version, soit pirater pour simplement l'utiliser sans avoir à payer de licence.

    Maintenant on est face à un énorme dilemme : suis-je parano ou es-tu ce que tu as peur d'être ? That is a big question, isn't it ?

  13. #13
    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
    Ben, je suis peut-être parano, mais je me dis que si je commercialise un outil sur lequel je vais avoir travaillé plus de 2 ans à raison de 15 à 17 h / j, 7 j/7, sachant qu'a priori cet outil n'a pas d'équivalent sur le marché et qu'il répond à un véritable besoin, j'ai quand même des risques de me le faire pirater. Soit pirater par un éditeur éventuel pour qu'il en fasse sa propre version, soit pirater pour simplement l'utiliser sans avoir à payer de licence.

    Maintenant on est face à un énorme dilemme : suis-je parano ou es-tu ce que tu as peur d'être ? That is a big question, isn't it ?
    Réponse claire, nette et précise :
    Nul besoin de "pirater" ton code. Ce qui sera "piraté", ce sera tout simplement ton idée (pour autant, seulement, qu'elle "vaille le coup"). Et ce "piratage" se fera alors probablement par une équipe de développement qui saura mieux faire que toi pour obtenir le même résultat.
    Tu en doutes vraiment ?
    Je puis t'assurer personnellement de ce que, dès lors que sont connus les tenants et les aboutissants, le reste n'est qu'un jeu d'enfants. Nul ne jouera toutefois ce jeu si l'utilisation des tenants en vue d'obtenir certains aboutissements ne se vend pas cher.
    Mais reste sur tes convictions. Elles sont souvent la marque des ingénus.
    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.

  14. #14
    Invité
    Invité(e)
    Par défaut
    le userform n'a aucune utilité si ils ne dispose pas code!

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Private Sub UserForm_Initialize()
    Dim init As New dll.classe
    init.go
    End Sub
    pour faire une dll il faut un module de classe

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Sub test()
    MsgBox "test"
    MsgBox Test2
    Dim t As New clsTes3
    MsgBox t.teste3
    End Sub
    Function Test2() As String
    Test2 = "test2"
    End Function
    Code clsTes3 : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Public Function teste3() As String
    teste3 = "teste3"
    End Function

    que est la différence?
    Images attachées Images attachées  

  15. #15
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 379
    Points : 12 075
    Points
    12 075
    Billets dans le blog
    8
    Par défaut re
    re
    bonjour
    de toute façon avec vba se pose un autre soucis en ce qui concerne le piratage

    dans ton app tu a des modules des codes

    et ses codes pour un bon pourcentage tu les trouves sur des forums et autre comme celui ci

    alors a qui appartiennent ses codes hein

    vendrait tu quelque chose que tu n'a pas créé entièrement hein!!!!

    et plein d'autre réflexions sur ce même principe

    j'ai un gars qui m'a envoyé un email pour me demander sil il pouvait intégrer ma fonction chiffre en lettre dans son appp et qu'il voulait la vendre
    j'ai posté ce code gratuitement dans les contribs je lui dis quoi????

    perso je pense que VBA est invendable car trop diffusé et utilisé il est donc très difficile de faire des codes persos
    et tout ce qui en vendent son par conséquences de voleurs et plagier
    c'est mon opinion
    A bon entendeur
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

  16. #16
    Invité
    Invité(e)
    Par défaut
    le timer que j'ai posté!
    Images attachées Images attachées  

  17. #17
    Nouveau membre du Club
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Août 2015
    Messages
    99
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2015
    Messages : 99
    Points : 30
    Points
    30
    Par défaut
    Citation Envoyé par unparia Voir le message
    Réponse claire, nette et précise :
    Nul besoin de "pirater" ton code. Ce qui sera "piraté", ce sera tout simplement ton idée (pour autant, seulement, qu'elle "vaille le coup"). Et ce "piratage" se fera alors probablement par une équipe de développement qui saura mieux faire que toi pour obtenir le même résultat.
    Tu en doutes vraiment ?
    Je puis t'assurer personnellement de ce que, dès lors que sont connus les tenants et les aboutissants, le reste n'est qu'un jeu d'enfants. Nul ne jouera toutefois ce jeu si l'utilisation des tenants en vue d'obtenir certains aboutissements ne se vend pas cher.
    Mais reste sur tes convictions. Elles sont souvent la marque des ingénus.
    Ne t'inquiète pas pour moi et mon ingénuité
    Cela fait plus de 34 ans que je bosse et crois-moi ou pas j'en ai déjà vu des choses copiées mais jamais égalées.
    Chacun reste avec ses convictions, ça ne me dérange pas.

    Bonne journée à toi.
    Gilbert

  18. #18
    Membre confirmé
    Homme Profil pro
    Alternant
    Inscrit en
    Décembre 2015
    Messages
    413
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Alternant

    Informations forums :
    Inscription : Décembre 2015
    Messages : 413
    Points : 584
    Points
    584
    Par défaut
    @Unparia
    @Patrick
    C'est bien pour ça que je posais la question, et vos réponses confirme ma pensée. On ne pirate pas un code dont tout le monde peut avoir un accès gratuitement sur différents site.
    Par contre un plagia d'idée oui, mais la même avec toute les protections envisageables je vois pas comment protéger un code d'une telle chose

    @CognitiKom
    Et non je suis désolé de te décevoir je n'ai rien d'un pirate. Par contre oui il est (fort) probable que je fasse du plagia, volontaire ou non, sur mes codes. Pourquoi ? Pour la simple et bonne raison que je ne suis pas un dieu du VBA et que comme beaucoup j'apprends sur le tas et au fur et à mesure et grâce à différents sites et forum comme celui-ci.
    Toujours est-il que je n'oublie jamais de citer les auteurs des codes que j'emprunte voir modifie (sauf malheureusement quand je ne sais plus d'où il vient).
    Dernière chose il m'arrive même parfois de me faire bananer croyant que c'est un ami qui développe un truc mais en fait non il me balance un vieux copié-collé en ayant changé deux trois trucs et en m'assurant qu'il y a passé du temps et tout...
    Bref pour conclure je comprends ton inquiétude et je la trouve légitime, notamment au regard du travail que tu as investit dedans. Mais encore une fois je n'en comprends pas l'utilité sur un logiciel comme VBA (enfin Excel). Bien évidement je ne suis qu'une pensée parmi d'autre et ne remets pas en doute tes convictions.

    En fait on peut dire que c'était surtout une question ouverte pour allumer ma lanterne et que je vais m’arrêter la dans le sens où ce n'est peut être pas l'endroit pour en discuter.

    Bon courage pour la suite et bonne continuation
    C'est en creusant qu'on fait des trous

  19. #19
    Nouveau membre du Club
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Août 2015
    Messages
    99
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2015
    Messages : 99
    Points : 30
    Points
    30
    Par défaut
    Citation Envoyé par patricktoulon Voir le message
    re
    bonjour
    de toute façon avec vba se pose un autre soucis en ce qui concerne le piratage

    dans ton app tu a des modules des codes

    et ses codes pour un bon pourcentage tu les trouves sur des forums et autre comme celui ci

    alors a qui appartiennent ses codes hein

    vendrait tu quelque chose que tu n'a pas créé entièrement hein!!!!

    et plein d'autre réflexions sur ce même principe

    j'ai un gars qui m'a envoyé un email pour me demander sil il pouvait intégrer ma fonction chiffre en lettre dans son appp et qu'il voulait la vendre
    j'ai posté ce code gratuitement dans les contribs je lui dis quoi????

    perso je pense que VBA est invendable car trop diffusé et utilisé il est donc très difficile de faire des codes persos
    et tout ce qui en vendent son par conséquences de voleurs et plagier
    c'est mon opinion
    A bon entendeur
    Bonjour

    Oui, en effet, mon code s'inspire pour partie de discussions ici ou ailleurs (principalement ici) : si on parle en volume probablement entre 5 et 10 %, le reste étant le résultat d'expériences passées (en parallèle de la gestion de très gros projets sur lesquels je bossais, j'ai gardé l'habitude de faire du développement, des fois pour financer mes sorties avec ma voiture sur circuit et le plus souvent pour développer des outils ad hoc susceptibles de m'aider dans mon métier) ou des heures que j'ai passées à essayer de construire une solution qui tienne la route.

    Tu poses la question "vendrait tu quelque chose que tu n'a pas créé entièrement hein" ? N'est-ce pas une réalité dans tous les domaines ? Est-ce que Renault fabrique les pneus dont il équipe les voitures qu'il vend ? Tu vas me dire que Renault revend les pneus qu'il achète.. ok ! Mais dans ce cas qu'en est-il de tous les brevets qui sont tombés dans le domaine public et qui servent à Renault à vendre ses voitures ? Renault a-t-il inventé le moteur à explosion ? A-t-il conçu les logiciels OpenSource que ses équipes utilisent probablement ? Réfléchis bien et tu verras que c'est valable dans tous les domaines : quel fournisseur de logiciel a conçu le langage dans lequel est écrit son programme ? en a-t-il écrit le compilateur ? a-t-il inventé le langage assembleur ou le langage machine qui lui est sous-jacent ? Qui garantit que ses développeurs ne sont pas venus s'inspirer sur des sites comme celui-ci ? Le cas extrême (que je désapprouve totalement) ce sont ces boîtes d'ingénierie génétique qui brevètent des séquences d'ADN (humain ou non) sous prétexte qu'elles ont été les premières à les décoder : ont-elles inventé la vie pour tout autant ? Non, que je sache...

    Quant à savoir si une solution écrite en VBA est vendable ou non, ce débat me rappelle une discussion (lointaine ) à répétition entre mon Directeur de Recherche de Doctorat et un autre prof : ce dernier était pour l'utilisation exclusive du Lisp ou du Prolog pour le développement de systèmes-experts ou autres outils de l'intelligence artificielle alors que l'autre ventait les mérites du Fortran (rapide, disponible sur toutes les machines de l'époque ou presque) : "que tu développes ton outil en Lisp, Prolog ou Fortran, en fin de compte ton système s'exécute toujours en langage machine".

    Ne te méprends pas : je ne dénigre surtout pas la qualité des informations que j'ai pu obtenir ici ni la disponibilité de chacun d'entre vous, bien au contraire même, mais tout ce que l'on fait est le fruit de nos expériences passées et de l'"enseignement" qu'on a pu obtenir de notre entourage. Tu n'es pas d'accord ?

  20. #20
    Nouveau membre du Club
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Août 2015
    Messages
    99
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2015
    Messages : 99
    Points : 30
    Points
    30
    Par défaut
    Citation Envoyé par Al__22 Voir le message
    @Unparia
    @Patrick
    C'est bien pour ça que je posais la question, et vos réponses confirme ma pensée. On ne pirate pas un code dont tout le monde peut avoir un accès gratuitement sur différents site.
    Par contre un plagia d'idée oui, mais la même avec toute les protections envisageables je vois pas comment protéger un code d'une telle chose

    @CognitiKom
    Et non je suis désolé de te décevoir je n'ai rien d'un pirate. Par contre oui il est (fort) probable que je fasse du plagia, volontaire ou non, sur mes codes. Pourquoi ? Pour la simple et bonne raison que je ne suis pas un dieu du VBA et que comme beaucoup j'apprends sur le tas et au fur et à mesure et grâce à différents sites et forum comme celui-ci.
    Toujours est-il que je n'oublie jamais de citer les auteurs des codes que j'emprunte voir modifie (sauf malheureusement quand je ne sais plus d'où il vient).
    Dernière chose il m'arrive même parfois de me faire bananer croyant que c'est un ami qui développe un truc mais en fait non il me balance un vieux copié-collé en ayant changé deux trois trucs et en m'assurant qu'il y a passé du temps et tout...
    Bref pour conclure je comprends ton inquiétude et je la trouve légitime, notamment au regard du travail que tu as investit dedans. Mais encore une fois je n'en comprends pas l'utilité sur un logiciel comme VBA (enfin Excel). Bien évidement je ne suis qu'une pensée parmi d'autre et ne remets pas en doute tes convictions.

    En fait on peut dire que c'était surtout une question ouverte pour allumer ma lanterne et que je vais m’arrêter la dans le sens où ce n'est peut être pas l'endroit pour en discuter.

    Bon courage pour la suite et bonne continuation
    Je vais arrêter là aussi sur le sujet car il faut que je bosse...
    Comprends : je ne veux pas protéger mon code en tant que tel je dis simplement que je veux rendre mon code opaque (aspect technique) pour rendre plus difficile la compréhension de la façon dont je traite le sujet (aspect fonctionnel). Je sais que c'est illusoire : quel que soit le bouclier, l'adversaire trouve toujours une arme pour le transpercer et je veux juste emm..der mon adversaire au maximum
    Certaines de mes connaissances pleines de bon sentiments et compétentes à souhait m'ont mis en garde quand j'ai commencé ce projet sur le fait que mon approche se voulait trop "high level" (je veux que l'utilisateur puisse repérer le texte qu'il veut extraire en écrivant -de façon assistée - des règles comme "Extraire la plage de texte qui commence par une phrase en gras située à 5 ou 6 cm du bord gauche et qui contient le texte "Bilan de l'année" ou "Résultat 2016" et qui finit au premier changement visuel tel qu'un changement de police ou de marge gauche" pour être concrètement réalisable. Et ce sur différents types de documents, Word, Excel, PowerPoint et autres PDF. Et c'est vrai que j'en ai bavé notamment parce que je veux que mon logiciel indique au mieux à l'utilisateur la raison si la règle n'aboutit pas.

    De toute façon merci pour ta contribution car je sais qu'elle est bien intentionnée.
    Gilbert

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 4 1234 DernièreDernière

Discussions similaires

  1. Comment savoir si une DLL est COM visible ?
    Par sokai dans le forum C#
    Réponses: 5
    Dernier message: 05/08/2011, 13h32
  2. Comment savoir si une connexion est deja ouverte?
    Par ghor_bey dans le forum Web & réseau
    Réponses: 3
    Dernier message: 29/07/2005, 15h17
  3. Réponses: 6
    Dernier message: 01/07/2005, 15h06
  4. Comment savoir si une variable est initialisée ?
    Par nabix dans le forum Général Python
    Réponses: 8
    Dernier message: 10/03/2005, 15h12
  5. Comment savoir qu'une fonction est standard ?
    Par D[r]eadLock dans le forum C
    Réponses: 5
    Dernier message: 24/03/2003, 14h42

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