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

VBA Access Discussion :

DAO Excel - Appliquer un autoFilter sur une plage spécifique [AC-2013]


Sujet :

VBA Access

  1. #1
    Membre éprouvé

    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    981
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 981
    Points : 1 028
    Points
    1 028
    Billets dans le blog
    36
    Par défaut DAO Excel - Appliquer un autoFilter sur une plage spécifique
    Bonjour à tous,


    Désolé pour ce post similaire à celui-ci Autofilter sur currentregion.resize mais visiblement il y a une spécificité sur Access car autant dans

    Excel l'autofilter s'applique bien sur la plage spécifique --> plage de 871 lignes

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    With ActiveSheet
       lXlsRowNumber = .Cells(.Rows.Count, .Range("colName").Column).End(xlUp).Row: Debug.Print lXlsRowNumber 'Retourne 871
       Set oRange = .Range("A2").currentRegion.Resize( lXlsRowNumber)
    End with 
     
    With oRange
         lIdxCol = .Range("ColCrit").Column: Debug.Print lIdxCol
          .AutoFilter Field:=lIdxCol, Criteria1:="9999"
    End with
    Voir Image ci-dessous
    Nom : autoFilterExcel.jpg
Affichages : 255
Taille : 33,9 Ko

    Autant le même code sous Access renvoie un Autofilter sur 1047585

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     With xlsWkSheet
     
                 lXlsRowNumber = .Cells(.Rows.Count, .Range("colName").Column).End(xlUp).Row: Debug.Print lXlsRowNumber ' --> 871 
                 Set oXlsRangeCurrentRegion = Range("A1").CurrentRegion.Resize(lXlsRowNumber): Debug.Print oXlsRangeCurrentRegion.Address '--> $A$1:$AA$871
     
                With oXlsRangeCurrentRegion
     
                    .AutoFilterMode = False
                    lIdxCol = .Range("ColCrit").Column: Debug.Print lIdxCol
                    .AutoFilter Field:=lIdxCol, Criteria1:=IIf(Nz(oRecSet![Fld1], "") = "", "=", oRecSet![Fld1]) '-->oRecSet![Fld1] =  91743288 
                End with
    Voir ci-dessous
    Nom : autoFilterExceFromAccessl.jpg
Affichages : 223
Taille : 23,7 Ko

    Je deviens
    Mal nommer un objet, c'est ajouter au malheur de ce monde, car le mensonge est justement la grande misère humaine, c'est pourquoi la grande tâche humaine correspondante sera de ne pas servir le mensonge
    Poésie 44, n° 17 - Albert Camus

    Mes réponses vous ont aidés, un clic sur leur pouce vert
    Bonjour chez vous

  2. #2
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Développeur VBA/C#/VB.Net/Power Platform
    Inscrit en
    Juillet 2007
    Messages
    14 594
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur VBA/C#/VB.Net/Power Platform
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 594
    Points : 34 263
    Points
    34 263
    Par défaut
    Salut,

    je mettrais un bout de pizza sur le fait que tu utilises xlUp qui n'est pas une constante Access.
    Essaie donc en remplaçant cette constante par sa valeur -4162.
    Cycle de vie d'un bon programme :
    1/ ça fonctionne 2/ ça s'optimise 3/ ça se refactorise

    Pas de question technique par MP, je ne réponds pas

    Mes ouvrages :
    Apprendre à programmer avec Access 2016, Access 2019 et 2021

    Apprendre à programmer avec VBA Excel
    Prise en main de Dynamics 365 Business Central

    Pensez à consulter la FAQ Excel et la FAQ Access

    Derniers tutos
    Excel et les paramètres régionaux
    Les fichiers Excel binaires : xlsb,

    Autres tutos

  3. #3
    Membre éprouvé

    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    981
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 981
    Points : 1 028
    Points
    1 028
    Billets dans le blog
    36
    Par défaut
    Jean-Philippe,

    Merci pour ton retour mais les constantes Excel sont bien reconnues dans Access cf. ci-dessous

    Complément de message

    Nom : Access_CstXls.jpg
Affichages : 180
Taille : 27,2 Ko

    Jean-Philippe, tu me dois une part de pizza
    Mal nommer un objet, c'est ajouter au malheur de ce monde, car le mensonge est justement la grande misère humaine, c'est pourquoi la grande tâche humaine correspondante sera de ne pas servir le mensonge
    Poésie 44, n° 17 - Albert Camus

    Mes réponses vous ont aidés, un clic sur leur pouce vert
    Bonjour chez vous

  4. #4
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Développeur VBA/C#/VB.Net/Power Platform
    Inscrit en
    Juillet 2007
    Messages
    14 594
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur VBA/C#/VB.Net/Power Platform
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 594
    Points : 34 263
    Points
    34 263
    Par défaut
    J'ai des doutes sur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    .AutoFilterMode = False
    qui est ajouté entre ton Excel et ton Access... Est-ce normal ?
    Cycle de vie d'un bon programme :
    1/ ça fonctionne 2/ ça s'optimise 3/ ça se refactorise

    Pas de question technique par MP, je ne réponds pas

    Mes ouvrages :
    Apprendre à programmer avec Access 2016, Access 2019 et 2021

    Apprendre à programmer avec VBA Excel
    Prise en main de Dynamics 365 Business Central

    Pensez à consulter la FAQ Excel et la FAQ Access

    Derniers tutos
    Excel et les paramètres régionaux
    Les fichiers Excel binaires : xlsb,

    Autres tutos

  5. #5
    Responsable Access

    Avatar de Arkham46
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    5 865
    Détails du profil
    Informations personnelles :
    Localisation : France, Loiret (Centre)

    Informations forums :
    Inscription : Septembre 2003
    Messages : 5 865
    Points : 14 524
    Points
    14 524
    Par défaut
    Bonjour,

    Mon bout de pizza sur le range("A1").
    Il manque le . devant pour spécifier le feuille.

  6. #6
    Membre éprouvé

    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    981
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 981
    Points : 1 028
    Points
    1 028
    Billets dans le blog
    36
    Par défaut
    Arkham46 et Jean-Philippe, va falloir que je me reconvertisse en pizzaiolo

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    .AutoFilterMode = False
    Pour enlever le filtre et à la place de ce code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    On Error Resume Next
        Sheet1.ShowAllData
      On Error GoTo 0
    Arkham46,
    Comment ça peut fonctionner sans ta part de pizza, enfin je veux dire le sans le . car
    oXlsRangeCurrentRegion
    pointe sur quoi? et tout ce qui est sous
    With oXlsRangeCurrentRegion
    notamment l’autofilter pointe sur quoi ?

    Citation Envoyé par Jean-Philippe André Voir le message
    Salut,
    ... tu utilises xlUp qui n'est pas une constante Access.
    Essaie donc en remplaçant cette constante par sa valeur -4162.

    Cette méthode suivante est-elle pérenne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    lastRow = mySheet.cells.SpecialCells(11).row
    Voir Ici
    Mal nommer un objet, c'est ajouter au malheur de ce monde, car le mensonge est justement la grande misère humaine, c'est pourquoi la grande tâche humaine correspondante sera de ne pas servir le mensonge
    Poésie 44, n° 17 - Albert Camus

    Mes réponses vous ont aidés, un clic sur leur pouce vert
    Bonjour chez vous

  7. #7
    Membre éprouvé

    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    981
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 981
    Points : 1 028
    Points
    1 028
    Billets dans le blog
    36
    Par défaut
    Citation Envoyé par Jean-Philippe André Voir le message
    Salut,

    ... tu utilises xlUp qui n'est pas une constante Access.
    Essaie donc en remplaçant cette constante par sa valeur -4162.
    Jean-Philippe,

    Comme j’ajoute toujours dans mon code
    Ça devrait pas faire une alerte si ce n’était pas dans les constante Access?
    Mal nommer un objet, c'est ajouter au malheur de ce monde, car le mensonge est justement la grande misère humaine, c'est pourquoi la grande tâche humaine correspondante sera de ne pas servir le mensonge
    Poésie 44, n° 17 - Albert Camus

    Mes réponses vous ont aidés, un clic sur leur pouce vert
    Bonjour chez vous

  8. #8
    Responsable Access

    Avatar de Arkham46
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    5 865
    Détails du profil
    Informations personnelles :
    Localisation : France, Loiret (Centre)

    Informations forums :
    Inscription : Septembre 2003
    Messages : 5 865
    Points : 14 524
    Points
    14 524
    Par défaut
    L'appel à un objet range sans préciser la feuille travaille je crois dans le fichier Excel le plus récemment ouvert (ou peut etre le dernier actif) et dans la dernière feuille active.
    Enfin bref c'est hasardeux.
    Et en plus ça peut mener à un problème de fermeture d'Excel.
    Je n'ai jamais compris pourquoi cette écriture est permise.

  9. #9
    Membre éprouvé

    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    981
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 981
    Points : 1 028
    Points
    1 028
    Billets dans le blog
    36
    Par défaut
    Merci Arkham46.

    Je comprends mieux pourquoi ça fonctionne puisque je n'ouvre qu'un seul onglet donc effectivement le hasard faisait bien les choses!

    Et pour xlUp, une explication de l'absence de message alors qu'il y a
    option explicite
    Encore merci pour ton aide
    Mal nommer un objet, c'est ajouter au malheur de ce monde, car le mensonge est justement la grande misère humaine, c'est pourquoi la grande tâche humaine correspondante sera de ne pas servir le mensonge
    Poésie 44, n° 17 - Albert Camus

    Mes réponses vous ont aidés, un clic sur leur pouce vert
    Bonjour chez vous

  10. #10
    Responsable Access

    Avatar de Arkham46
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    5 865
    Détails du profil
    Informations personnelles :
    Localisation : France, Loiret (Centre)

    Informations forums :
    Inscription : Septembre 2003
    Messages : 5 865
    Points : 14 524
    Points
    14 524
    Par défaut
    Citation Envoyé par informer Voir le message
    Et pour xlUp, une explication de l'absence de message
    Il y a sans doute la référence à Microsoft Access de cochée.

  11. #11
    Invité
    Invité(e)
    Par défaut
    bonjour,
    il faut utiliser un énumérateur ainsi ton code reste le même!
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Enum ConstanteXls
        xlUp = -4162
        xlDown = -4121
        xlLeft = -4131
        xlRight = -4130
    End Enum
    Sub test()
    lXlsRowNumber = .Cells(.Rows.Count, .Range("colName").Column).End(xlUp).Row: Debug.Print lXlsRowNumber ' --> 871
    End Sub
    Dernière modification par Invité ; 08/01/2019 à 11h06.

  12. #12
    Membre éprouvé

    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    981
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 981
    Points : 1 028
    Points
    1 028
    Billets dans le blog
    36
    Par défaut
    Ça part en vrille grand large alors voilà le code en entier

    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
    Do While Not oRecSet.EOF       		
    	With xlsWkSheet
    		With oXlsRangeCurrentRegion
    			On Error Resume Next
    				.ShowAllData
    			On Error GoTo 0
    			lXlsRowNumber = .Cells(.Rows.Count, .Range("ColRef").Column).End(xlUp).Row: Debug.Print lXlsRowNumber
    			Set oXlsRangeCurrentRegion = .Range("A1").Resize(lXlsRowNumber, UBound(arrNamedRange)): Debug.Print oXlsRangeCurrentRegion.Address
    			lIdxCol = .Range("ColCrit").Column: Debug.Print lIdxCol
    			.AutoFilter Field:=lIdxCol, Criteria1:=IIf(Nz(oRecSet![Fld1], "") = "", "=", oRecSet![Fld1])
    			Set xlsRangeAutoFilter = .SpecialCells(xlCellTypeVisible)
    		End With 
    		'--------------------------------------------------------------
    		'              NUMBER OF FILTERER ROWS
    		'--------------------------------------------------------------
    		lNbrRowFiltered = 0
    		For Each xlsRangeActive In xlsRangeAutoFilter.Rows
    		   lNbrRowFiltered = lNbrRowFiltered + 1
    		Next
    		'--------------------------------------------------------------
    		'              ADD ROW
    		'--------------------------------------------------------------
    		If lNbrRowFiltered = 1 Then '---> If only one filtered row  = header
    			Set xlsRangeActive = .Range("A1").Offset(lXlsRowNumber)
    			For lNrCol = 1 To UBound(arrNamedRange)
    				 xlsRangeActive.Columns(lNrCol) = oRecSet.Fields(lNrCol - 1)
    			Next lNrCol
    			'Set oXlsRangeCurrentRegion = .Range("A1").Resize(xlsRangeActive.Row): Debug.Print oXlsRangeCurrentRegion.Address
    		'--------------------------------------------------------------
    		'               UPDATE FIELDS
    		'--------------------------------------------------------------
    		ElseIf lNbrRowFiltered > 1 Then
    			For Each xlsRangeActive In xlsRangeAutoFilter.Rows
    				If xlsRangeActive.Row > 1 Then ' -> If 1 then row header
    					xlsRangeActive.Columns(.Range("JourCQMax_Prev").Column).Value = oRecSet!JourCQMax_Prev   
    				End if
    			Next
    		End if
    	End with
    	oRecSet.Movenext
    Loop
    Mal nommer un objet, c'est ajouter au malheur de ce monde, car le mensonge est justement la grande misère humaine, c'est pourquoi la grande tâche humaine correspondante sera de ne pas servir le mensonge
    Poésie 44, n° 17 - Albert Camus

    Mes réponses vous ont aidés, un clic sur leur pouce vert
    Bonjour chez vous

  13. #13
    Expert éminent sénior
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    8 648
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2004
    Messages : 8 648
    Points : 14 626
    Points
    14 626
    Par défaut
    Citation Envoyé par Arkham46 Voir le message
    Il y a sans doute la référence à Microsoft Access de cochée.
    bonjour,
    pour la compréhension du fil de la discussion, je pense qu'Arkham46 voulait parler de la référence Excel cochée
    et Option explicite va provoquer une erreur
    Quand on est derrière l'écran on n'a aucun clavier sous les mains ...
    ah non ? donc devant l'écran c'est la connectique ?

  14. #14
    Invité
    Invité(e)
    Par défaut
    si en entête de module tu place un énumérateur qui fixe les constantes Excel que ton programme utilise tu n'auras plus de problème.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Enum ConstanteXls
        xlUp = -4162
        xlDown = -4121
        xlLeft = -4131
        xlRight = -4130
        xlCellTypeVisible = 12
    End Enum

  15. #15
    Membre éprouvé

    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    981
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 981
    Points : 1 028
    Points
    1 028
    Billets dans le blog
    36
    Par défaut
    Pour les constantes Excel voir la copie d'écran qui montre qu'ils sont reconnus Ici et effectivement cela est sûrement dû a une DLL ajouté dans le projet (préférences)

    Pas de réponse sur mon code qui part en vrille?
    Mal nommer un objet, c'est ajouter au malheur de ce monde, car le mensonge est justement la grande misère humaine, c'est pourquoi la grande tâche humaine correspondante sera de ne pas servir le mensonge
    Poésie 44, n° 17 - Albert Camus

    Mes réponses vous ont aidés, un clic sur leur pouce vert
    Bonjour chez vous

  16. #16
    Responsable
    Office & Excel


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 122
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 122
    Points : 55 921
    Points
    55 921
    Billets dans le blog
    131
    Par défaut
    Citation Envoyé par dysorthographie Voir le message
    bonjour,
    il faut utiliser un énumérateur ainsi ton code reste le même![...]
    Citation Envoyé par dysorthographie Voir le message
    si en entête de module tu place un énumérateur qui fixe les constantes Excel que ton programme utilise tu n'auras plus de problème.[...]
    Les constantes XL sont reconnues, donc il ne sert à rien de les redéfinir



    @Informer: Ca veut dire quoi: part en vrille? Tu as une erreur? Si oui, sur quelle ligne? Parce que essayer de reproduire ton erreur est assez délicat. Le code que tu donnes ne permet pas de tout vérifier. Ainsi, que vaut xlsWkSheet. Cette variable pointe-t-elle bien sur une feuille Excel? Si oui, la bonne?
    "Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
    ---------------
    Mes billets de blog sur DVP
    Mes remarques et critiques sont purement techniques. Ne les prenez jamais pour des attaques personnelles...
    Pensez à utiliser les tableaux structurés. Ils vous simplifieront la vie, tant en Excel qu'en VBA ==> mon tuto
    Le VBA ne palliera jamais une mauvaise conception de classeur ou un manque de connaissances des outils natifs d'Excel...
    Ce ne sont pas des bonnes pratiques parce que ce sont les miennes, ce sont les miennes parce que ce sont des bonnes pratiques
    VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
    ---------------

  17. #17
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par Pierre Fauconnier Voir le message
    Les constantes XL sont reconnues, donc il ne sert à rien de les redéfinir
    Oui si on active la référence Excel sur la seule version installer sur la machine du développeur ce qui limite la portabilités !

    Personnellement je ne comets jamais cette erreur.

  18. #18
    Responsable
    Office & Excel


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 122
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 122
    Points : 55 921
    Points
    55 921
    Billets dans le blog
    131
    Par défaut
    Citation Envoyé par dysorthographie Voir le message
    Oui si on active la référence Excel sur la seule version installer sur la machine du développeur ce qui limite la portabilités !
    Les références sont incluses dans le projet VBA. L'utilisateur ne devrait pas avoir accès au code et donc ne saurait pas décocher la référence. Et comme les références sont "dans" le code vba, il n'y a a priori pas de raisons qu'elles ne suivent pas le projet développé, sauf parc de versions hétéroclites, et encore

    En tout état de cause, vu qu'ici elles sont cochées, ce n'est pas l'absence de ces constantes qui créent l'erreur.
    "Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
    ---------------
    Mes billets de blog sur DVP
    Mes remarques et critiques sont purement techniques. Ne les prenez jamais pour des attaques personnelles...
    Pensez à utiliser les tableaux structurés. Ils vous simplifieront la vie, tant en Excel qu'en VBA ==> mon tuto
    Le VBA ne palliera jamais une mauvaise conception de classeur ou un manque de connaissances des outils natifs d'Excel...
    Ce ne sont pas des bonnes pratiques parce que ce sont les miennes, ce sont les miennes parce que ce sont des bonnes pratiques
    VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
    ---------------

  19. #19
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par Pierre Fauconnier Voir le message
    Les références sont incluses dans le projet VBA. L'utilisateur ne devrait pas avoir accès au code et donc ne saurait pas décocher la référence. Et comme les références sont "dans" le code vba, il n'y a a priori pas de raisons qu'elles ne suivent pas le projet développé, sauf parc de versions hétéroclites, et encore

    En tout état de cause, vu qu'ici elles sont cochées, ce n'est pas l'absence de ces constantes qui créent l'erreur.
    Là pour le coup tu dis n'importe quoi entre la versions du développeur et celles de ses clients il peut y avoir un monde!

    Et c'est pas le client qui vas bricoler les références pour faire fonctionner son appli

  20. #20
    Responsable
    Office & Excel


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 122
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 122
    Points : 55 921
    Points
    55 921
    Billets dans le blog
    131
    Par défaut
    Citation Envoyé par dysorthographie Voir le message
    Là pour le coup tu dis n'importe quoi entre la versions du développeur et celles de ses clients il peut y avoir un mode!
    Rappel: Le problème survient sur la machine du développeur qui a la référence à Excel cochée => ce ne sont pas les constantes qui posent problème.

    J'envisage assez mal que les utilisateurs de l'appli Access la fassent tourner sur une version différente d'Access que celle du développeur ou sur un runtime qui n'est pas prévu pour. Pour ce qui est de la référence à Excel, je ne me souviens pas d'un problème de référence entre une version "développement" qui pointerait vers une XL2016 et une version chez le client qui pointerait vers une 2013 ou une 2010 (ou vice versa). Si tu as eu ce genre de problèmes, montre-le moi et je j'essaierai de reproduire le problème sur différentes VM...
    "Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
    ---------------
    Mes billets de blog sur DVP
    Mes remarques et critiques sont purement techniques. Ne les prenez jamais pour des attaques personnelles...
    Pensez à utiliser les tableaux structurés. Ils vous simplifieront la vie, tant en Excel qu'en VBA ==> mon tuto
    Le VBA ne palliera jamais une mauvaise conception de classeur ou un manque de connaissances des outils natifs d'Excel...
    Ce ne sont pas des bonnes pratiques parce que ce sont les miennes, ce sont les miennes parce que ce sont des bonnes pratiques
    VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
    ---------------

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

Discussions similaires

  1. Appliquer formule que sur une plage de cellules
    Par leloup84 dans le forum Macros et VBA Excel
    Réponses: 11
    Dernier message: 31/08/2016, 14h59
  2. VBScript : AutoFilter sur une colonne Excel.
    Par ConteZero dans le forum VBScript
    Réponses: 4
    Dernier message: 24/05/2010, 14h55
  3. [Toutes versions] Appliquer une recherche sur une plage
    Par lenul78570 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 22/03/2010, 14h24
  4. [DAO] SQL sur une plage de cellules
    Par cafeine dans le forum Contribuez
    Réponses: 8
    Dernier message: 01/03/2008, 22h47

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