bonjour,
Pourriez-vous m'aider à réaliser cette SUB ?
je cherche à colorer les cellules vide dans la plage A3:M200 en appui sur
bouton
Private Sub cmdCelluleVide_Click()
Dim Target As Range
Target.Value = "a3:m200"
If Target.Value = "" Then
Range(Target.Address, Target.Offset(0, 0).Address).Interior.ColorIndex
= 5
End If
End Sub
Misange migrateuse XlWiki : Participez à un travail collaboratif sur excel ! http://xlwiki.free.fr/wiki http://www.excelabo.net
| Dim C ***Pas vraiment suffisant pour être efficace
voici un exemple d'une procédure élaborée par John Walkenback.:
Tu fais rouler cette procédure dans un module standard telle qu'elle est écrite et tu refais rouler cette fois en mettant une apostrophe devant chaque ligne débutant par DIM pour désactiver la déclaration des variables ou enlève seulement leur type ...
Le résultat devrait t'en convaincre .... ------------------- Sub TimeTest()
Dim A As Integer, B As Integer, C As Integer Dim x As Integer, y As Integer Dim i As Integer, j As Integer Dim StartTime As Date, EndTime As Date
StartTime = Timer
x = 0 y = 0 For i = 1 To 5000 For j = 1 To 1000 A = x + y + j B = y - x - i C = x - y - i Next j Next i
EndTime = Timer
MsgBox EndTime - StartTime
End Sub -------------------
"Jacky" a écrit dans le message de news: Re... oui si tu es en: Option Explicit Les variables étant Variant par défaut Dim C devrait être suffisant
merci Denis d'avoir mis ici ce joli test de JW.
Misange migrateuse
XlWiki : Participez à un travail collaboratif sur excel !
http://xlwiki.free.fr/wiki
http://www.excelabo.net
| Dim C
***Pas vraiment suffisant pour être efficace
voici un exemple d'une procédure élaborée par John Walkenback.:
Tu fais rouler cette procédure dans un module standard telle qu'elle est
écrite et tu refais rouler cette fois en mettant une apostrophe devant chaque
ligne débutant par DIM pour désactiver la déclaration des variables ou
enlève seulement leur type ...
Le résultat devrait t'en convaincre ....
-------------------
Sub TimeTest()
Dim A As Integer, B As Integer, C As Integer
Dim x As Integer, y As Integer
Dim i As Integer, j As Integer
Dim StartTime As Date, EndTime As Date
StartTime = Timer
x = 0
y = 0
For i = 1 To 5000
For j = 1 To 1000
A = x + y + j
B = y - x - i
C = x - y - i
Next j
Next i
EndTime = Timer
MsgBox EndTime - StartTime
End Sub
-------------------
"Jacky" <Dupond@marcel.fr> a écrit dans le message de news: uRkRd3HzIHA.5816@TK2MSFTNGP02.phx.gbl...
Re...
oui si tu es en:
Option Explicit
Les variables étant Variant par défaut
Dim C
devrait être suffisant
Misange migrateuse XlWiki : Participez à un travail collaboratif sur excel ! http://xlwiki.free.fr/wiki http://www.excelabo.net
| Dim C ***Pas vraiment suffisant pour être efficace
voici un exemple d'une procédure élaborée par John Walkenback.:
Tu fais rouler cette procédure dans un module standard telle qu'elle est écrite et tu refais rouler cette fois en mettant une apostrophe devant chaque ligne débutant par DIM pour désactiver la déclaration des variables ou enlève seulement leur type ...
Le résultat devrait t'en convaincre .... ------------------- Sub TimeTest()
Dim A As Integer, B As Integer, C As Integer Dim x As Integer, y As Integer Dim i As Integer, j As Integer Dim StartTime As Date, EndTime As Date
StartTime = Timer
x = 0 y = 0 For i = 1 To 5000 For j = 1 To 1000 A = x + y + j B = y - x - i C = x - y - i Next j Next i
EndTime = Timer
MsgBox EndTime - StartTime
End Sub -------------------
"Jacky" a écrit dans le message de news: Re... oui si tu es en: Option Explicit Les variables étant Variant par défaut Dim C devrait être suffisant
MichDenis
| Et en aucun cas je me rallierai à cette dynamique
Avec une telle attitude, il ne fallait pas poser la question... Il n'y avait aucune chance que tu puisses changer d'avis nonobstant les arguments élaborés.
Pas de problème, je n'ai rien à vendre.
a écrit dans le message de news:
Rebonjour MichDenis
Tout d'abord je te remercie pour ta réponse
"Si tu as déclaré la variable C as range, tu aura droit à l'aide automatique de la liste déroulante des propriétés et méthodes de l'objet...c'est une aide mémoire non négligeable (pour moi) et cela évite aussi bien des fautes d'orthographes (indispensable pour moi)..."
C'est effectivement un bon argument mais pour l'élaboration du code Celà n'induit pas pour autant de le restituer dans la proposition
"Perso, quand je lis un code que je n'ai pas créé, j'aime bien regarder la déclaration des variables... en un seul coup d'oeil, cela donne une idée des objets utilisés dans la procédure !"
L'argument aussi se tient mais seulement pour les lecteurs initiés
"Ceci étant, tu fais à ta tête et c'est ok pour moi...tout ceci pour n'épargner quelques secondes au moment d'écrire la procédure...c'est un argument plutôt faible mais qui suis-je pour juger ! "
J'ai du mal à comprendre : "Ceci étant, tu fais à ta tête et c'est ok pour moi"
Ce ne sont pas mes intentions je te rassure : "tout ceci pour n'épargner quelques
secondes au moment d'écrire la procédure"
Il est vrai que pour m'investir à l'éboration de quelques lignes supplémentaires ce n'est pas tant le temps à consacrer qui me motive mais la réelle utilité mettant en jeu le résultat escompté
Et en aucun cas je me rallierai à cette dynamique :
"j'ajouterai que le typage correct est également une des régles de l'art "
Je respecte ceux qui ne progresse que dans cet esprit grand bien leur fasse
Mais je ne suis pas là pour le côté artistique mais pour progresser efficacement et apporter mon aide au mieux de mes connaissances si faibles soient elles je le reconnait mais dans le seul souci de satisfaire nos interlocuteurs Je je pense pas qu'ils soient sensibles à la chorégraphie des lignes de code
Que l'on me démente !!!!
| Et en aucun cas je me rallierai à cette dynamique
Avec une telle attitude, il ne fallait pas poser la question...
Il n'y avait aucune chance que tu puisses changer d'avis
nonobstant les arguments élaborés.
Pas de problème, je n'ai rien à vendre.
<francois.forcet@wanadoo.fr> a écrit dans le message de news:
640f0c75-af92-41a8-853c-d55e5bb94923@79g2000hsk.googlegroups.com...
Rebonjour MichDenis
Tout d'abord je te remercie pour ta réponse
"Si tu as déclaré la variable C as range, tu aura droit à l'aide
automatique
de la liste déroulante des propriétés et méthodes de l'objet...c'est
une aide
mémoire non négligeable (pour moi) et cela évite aussi bien des
fautes
d'orthographes (indispensable pour moi)..."
C'est effectivement un bon argument mais pour l'élaboration du code
Celà n'induit pas pour autant de le restituer dans la proposition
"Perso, quand je lis un code que je n'ai pas créé, j'aime bien
regarder la déclaration
des variables... en un seul coup d'oeil, cela donne une idée des
objets utilisés dans
la procédure !"
L'argument aussi se tient mais seulement pour les lecteurs initiés
"Ceci étant, tu fais à ta tête et c'est ok pour moi...tout ceci pour
n'épargner quelques
secondes au moment d'écrire la procédure...c'est un argument plutôt
faible mais qui
suis-je pour juger ! "
J'ai du mal à comprendre : "Ceci étant, tu fais à ta tête et c'est ok
pour moi"
Ce ne sont pas mes intentions je te rassure : "tout ceci pour
n'épargner quelques
secondes au moment d'écrire la procédure"
Il est vrai que pour m'investir à l'éboration de quelques lignes
supplémentaires ce n'est pas tant le temps à consacrer qui me motive
mais la réelle utilité mettant en jeu le résultat escompté
Et en aucun cas je me rallierai à cette dynamique :
"j'ajouterai que le typage correct est également une des régles de
l'art "
Je respecte ceux qui ne progresse que dans cet esprit grand bien leur
fasse
Mais je ne suis pas là pour le côté artistique mais pour progresser
efficacement et apporter mon aide au mieux de mes connaissances si
faibles soient elles je le reconnait mais dans le seul souci de
satisfaire nos interlocuteurs
Je je pense pas qu'ils soient sensibles à la chorégraphie des lignes
de code
| Et en aucun cas je me rallierai à cette dynamique
Avec une telle attitude, il ne fallait pas poser la question... Il n'y avait aucune chance que tu puisses changer d'avis nonobstant les arguments élaborés.
Pas de problème, je n'ai rien à vendre.
a écrit dans le message de news:
Rebonjour MichDenis
Tout d'abord je te remercie pour ta réponse
"Si tu as déclaré la variable C as range, tu aura droit à l'aide automatique de la liste déroulante des propriétés et méthodes de l'objet...c'est une aide mémoire non négligeable (pour moi) et cela évite aussi bien des fautes d'orthographes (indispensable pour moi)..."
C'est effectivement un bon argument mais pour l'élaboration du code Celà n'induit pas pour autant de le restituer dans la proposition
"Perso, quand je lis un code que je n'ai pas créé, j'aime bien regarder la déclaration des variables... en un seul coup d'oeil, cela donne une idée des objets utilisés dans la procédure !"
L'argument aussi se tient mais seulement pour les lecteurs initiés
"Ceci étant, tu fais à ta tête et c'est ok pour moi...tout ceci pour n'épargner quelques secondes au moment d'écrire la procédure...c'est un argument plutôt faible mais qui suis-je pour juger ! "
J'ai du mal à comprendre : "Ceci étant, tu fais à ta tête et c'est ok pour moi"
Ce ne sont pas mes intentions je te rassure : "tout ceci pour n'épargner quelques
secondes au moment d'écrire la procédure"
Il est vrai que pour m'investir à l'éboration de quelques lignes supplémentaires ce n'est pas tant le temps à consacrer qui me motive mais la réelle utilité mettant en jeu le résultat escompté
Et en aucun cas je me rallierai à cette dynamique :
"j'ajouterai que le typage correct est également une des régles de l'art "
Je respecte ceux qui ne progresse que dans cet esprit grand bien leur fasse
Mais je ne suis pas là pour le côté artistique mais pour progresser efficacement et apporter mon aide au mieux de mes connaissances si faibles soient elles je le reconnait mais dans le seul souci de satisfaire nos interlocuteurs Je je pense pas qu'ils soient sensibles à la chorégraphie des lignes de code
Que l'on me démente !!!!
Jacky
re... Celà en fait 2 de bizarrerie dans la même journée
-- Salutations JJ
"MichDenis" a écrit dans le message de news: %
Si vous utilisez l'enregistreur de macro pour enlever la couleur de fond sur une plage de cellule, Excel propose ceci comme code:
Selection.Interior.ColorIndex = xlnone
Si vous utilisez dans la fenêtre de l'éditeur de code, l'explorateur d'objets et faite une petite recherche sur xlnone, vous remarquerez qu'excel attribue à cette constante la valeur suivante : -4142 (&HFFFFEFD2)
Je pourrais écrire le code suivant :
Dim x As Excel.Constants x = xlNone Range("A1:A10").Interior.ColorIndex = x
X devrait valoir alors : -4142
Pourtant : Range("A1:A10").Interior.ColorIndex = 0 fonctionne aussi ....
Quelqu'un a une explication ?
"Pascal" ,com> a écrit dans le message de news: % Hello, je commence toujours mon code par option explicit habitude prise avec VB le code fonctionne très bien, merci voici pour ceux que cela interesse, la version finale ---------------------------------------------------- -ClickActiver est déclarer Boolean avec valeur False en entrée
sub xxxx() Dim c As Range 'si on à déjà coloré les cellules on décolore If ClickActiver = True Then Application.ScreenUpdating = False For Each c In [c3:n200] c.Interior.ColorIndex = 0 '0 = aucun remplissage Next ClickActiver = False Else 'sinon on colore les cellules Application.ScreenUpdating = False For Each c In [c3:n200] If c = "" Then c.Interior.ColorIndex = 50 ' vert Next ClickActiver = True End If End sub
Pascal
"MichDenis" a écrit dans le message de news:
Si dans le haut de son module, il est inscrit : Option Explicit Il devra déclarer cette variable et c'est une excellente habitude à prendre pour ceux que cela concerne...
Dim C as Range
a écrit dans le message de news:
Rebonjours Pascal
Non pas besoin de déclarer la variable le code fonctionne en l'état
Fais des essais et dis moi !!!!
re...
Celà en fait 2 de bizarrerie dans la même journée
--
Salutations
JJ
"MichDenis" <michdenis@hotmail.com> a écrit dans le message de news:
%233TubzIzIHA.2360@TK2MSFTNGP05.phx.gbl...
Si vous utilisez l'enregistreur de macro pour enlever la couleur
de fond sur une plage de cellule, Excel propose ceci comme code:
Selection.Interior.ColorIndex = xlnone
Si vous utilisez dans la fenêtre de l'éditeur de code, l'explorateur
d'objets
et faite une petite recherche sur xlnone, vous remarquerez qu'excel
attribue à cette constante la valeur suivante : -4142 (&HFFFFEFD2)
Je pourrais écrire le code suivant :
Dim x As Excel.Constants
x = xlNone
Range("A1:A10").Interior.ColorIndex = x
X devrait valoir alors : -4142
Pourtant :
Range("A1:A10").Interior.ColorIndex = 0
fonctionne aussi ....
Quelqu'un a une explication ?
"Pascal" <inconnu@hotmail,com> a écrit dans le message de news:
%23yhyMkIzIHA.3968@TK2MSFTNGP04.phx.gbl...
Hello,
je commence toujours mon code par option explicit habitude prise avec VB
le code fonctionne très bien, merci
voici pour ceux que cela interesse, la version finale
----------------------------------------------------
-ClickActiver est déclarer Boolean avec valeur False en entrée
sub xxxx()
Dim c As Range
'si on à déjà coloré les cellules on décolore
If ClickActiver = True Then Application.ScreenUpdating =
False
For Each c In [c3:n200]
c.Interior.ColorIndex = 0 '0 = aucun remplissage
Next
ClickActiver = False
Else
'sinon on colore les cellules
Application.ScreenUpdating = False
For Each c In [c3:n200]
If c = "" Then c.Interior.ColorIndex = 50 ' vert
Next
ClickActiver = True
End If
End sub
Pascal
"MichDenis" <michdenis@hotmail.com> a écrit dans le message de news:
eQhBo7HzIHA.1236@TK2MSFTNGP02.phx.gbl...
Si dans le haut de son module, il est inscrit : Option Explicit
Il devra déclarer cette variable et c'est une excellente habitude
à prendre pour ceux que cela concerne...
Dim C as Range
<francois.forcet@wanadoo.fr> a écrit dans le message de news:
e50199a3-1657-4da8-9445-55437f138187@e39g2000hsf.googlegroups.com...
Rebonjours Pascal
Non pas besoin de déclarer la variable le code fonctionne en l'état
re... Celà en fait 2 de bizarrerie dans la même journée
-- Salutations JJ
"MichDenis" a écrit dans le message de news: %
Si vous utilisez l'enregistreur de macro pour enlever la couleur de fond sur une plage de cellule, Excel propose ceci comme code:
Selection.Interior.ColorIndex = xlnone
Si vous utilisez dans la fenêtre de l'éditeur de code, l'explorateur d'objets et faite une petite recherche sur xlnone, vous remarquerez qu'excel attribue à cette constante la valeur suivante : -4142 (&HFFFFEFD2)
Je pourrais écrire le code suivant :
Dim x As Excel.Constants x = xlNone Range("A1:A10").Interior.ColorIndex = x
X devrait valoir alors : -4142
Pourtant : Range("A1:A10").Interior.ColorIndex = 0 fonctionne aussi ....
Quelqu'un a une explication ?
"Pascal" ,com> a écrit dans le message de news: % Hello, je commence toujours mon code par option explicit habitude prise avec VB le code fonctionne très bien, merci voici pour ceux que cela interesse, la version finale ---------------------------------------------------- -ClickActiver est déclarer Boolean avec valeur False en entrée
sub xxxx() Dim c As Range 'si on à déjà coloré les cellules on décolore If ClickActiver = True Then Application.ScreenUpdating = False For Each c In [c3:n200] c.Interior.ColorIndex = 0 '0 = aucun remplissage Next ClickActiver = False Else 'sinon on colore les cellules Application.ScreenUpdating = False For Each c In [c3:n200] If c = "" Then c.Interior.ColorIndex = 50 ' vert Next ClickActiver = True End If End sub
Pascal
"MichDenis" a écrit dans le message de news:
Si dans le haut de son module, il est inscrit : Option Explicit Il devra déclarer cette variable et c'est une excellente habitude à prendre pour ceux que cela concerne...
Dim C as Range
a écrit dans le message de news:
Rebonjours Pascal
Non pas besoin de déclarer la variable le code fonctionne en l'état
Fais des essais et dis moi !!!!
Misange
Pas de problème, je n'ai rien à vendre. Ah ça tu charries c'était 100 euros l'autre jour (pas fou je vois que tu
ne factures pas en dollars :-))
Misange migrateuse XlWiki : Participez à un travail collaboratif sur excel ! http://xlwiki.free.fr/wiki http://www.excelabo.net
Pas de problème, je n'ai rien à vendre.
Ah ça tu charries c'était 100 euros l'autre jour (pas fou je vois que tu
ne factures pas en dollars :-))
Misange migrateuse
XlWiki : Participez à un travail collaboratif sur excel !
http://xlwiki.free.fr/wiki
http://www.excelabo.net
Et en aucun cas je me rallierai à cette dynamique : "j'ajouterai que le typage correct est également une des régles de l'art "
Ce qui veux dire que pour toute autre dynamique qui prone l'efficacité et l'utilité je suis à votre écoute moi qui est tant à apprendre !!! !
Vous n'allez pas me faire croire que c'est le seul privilège des puristes !!!
Ce serait particulièrement décevant
Merci d'avance
MichDenis
Une procédure de ce genre, te donne les Guid des variables "OBJETS" inscrit dans la base de registre de Windows. Chaque objet en a un... et lorsque l'on déclare sa variable objet, on indique à windows de quel objet il s'agit ....de même est-il possible pour lui de nous donner dans la liste déroulante, la liste des propriétés et méthodes de l'objet.
Cette sub n'a pas été testé parce que quelqu'un est venu me prendre ce fichier... comme je suis le seul à l'utiliser, c'est donc quelqu'un de l'extérieur ! Est-ce qu'un intru se serait introduit dans ma machine ?
Si quelqu'un a windows xp et excel 2003, ce serait gentil de m'envoyer sur mon adresse Hotmail une copie du fichier : TLBINF32.DLL que l'on retrouve dans c:WindowsSystem32 pour une installation standard.
'------------------------------------ Sub Trouver_Le_GuID_Des_Objets() '****************************************************** 'Requires a reference to TypeLib Information (TLBINF32.DLL) '****************************************************** On Error Resume Next Dim TLI As New TLIApplication Dim x As Range Set x = Range("A1:A10") MsgBox TLI.InterfaceInfoFromObject(Obj).GUID End Sub '------------------------------------
"Modeste" a écrit dans le message de news: % Bonsour® MichDenis avec ferveur ;o))) vous nous disiez :
la notation Hongroise
Encore heureux qu'on ne soit pas obligé de déclarer les variables objets par leur Quid inscrit dans la base de registre de windows ...;-)))
;o)))
tu veux parler des GuId ??? comme ceci : Private Sub Workbook_Open() On Error Resume Next ' Ajout de la bibliotheque Microsoft Speech object library ActiveWorkbook.VBProject.References.AddFromGuid "{C866CA3A-32F7-11D2-9602-00C04F8EE628}", 5, 0 End Sub
dans un module : Option Explicit Public Vocal As New SpVoice Public toto As String
Sub Parler(phrase As String) ' Vocal.Speak phrase End Sub
Sub Test() Parler "Bonjour Denis !" End Sub
-- -- @+ ;o)))
Une procédure de ce genre, te donne les Guid des variables "OBJETS"
inscrit dans la base de registre de Windows. Chaque objet en a un... et
lorsque l'on déclare sa variable objet, on indique à windows de quel objet
il s'agit ....de même est-il possible pour lui de nous donner dans la liste
déroulante, la liste des propriétés et méthodes de l'objet.
Cette sub n'a pas été testé parce que quelqu'un est venu me prendre ce fichier...
comme je suis le seul à l'utiliser, c'est donc quelqu'un de l'extérieur !
Est-ce qu'un intru se serait introduit dans ma machine ?
Si quelqu'un a windows xp et excel 2003, ce serait gentil de m'envoyer
sur mon adresse Hotmail une copie du fichier : TLBINF32.DLL que l'on
retrouve dans c:WindowsSystem32 pour une installation standard.
'------------------------------------
Sub Trouver_Le_GuID_Des_Objets()
'******************************************************
'Requires a reference to TypeLib Information (TLBINF32.DLL)
'******************************************************
On Error Resume Next
Dim TLI As New TLIApplication
Dim x As Range
Set x = Range("A1:A10")
MsgBox TLI.InterfaceInfoFromObject(Obj).GUID
End Sub
'------------------------------------
"Modeste" <nomail@nomail.net> a écrit dans le message de news:
%23tm39yIzIHA.4772@TK2MSFTNGP03.phx.gbl...
Bonsour® MichDenis avec ferveur ;o))) vous nous disiez :
la notation Hongroise
Encore heureux qu'on ne soit pas obligé de déclarer
les variables objets par leur Quid inscrit dans la base
de registre de windows ...;-)))
;o)))
tu veux parler des GuId ???
comme ceci :
Private Sub Workbook_Open()
On Error Resume Next
' Ajout de la bibliotheque Microsoft Speech object library
ActiveWorkbook.VBProject.References.AddFromGuid "{C866CA3A-32F7-11D2-9602-00C04F8EE628}", 5, 0
End Sub
dans un module :
Option Explicit
Public Vocal As New SpVoice
Public toto As String
Sub Parler(phrase As String) '
Vocal.Speak phrase
End Sub
Une procédure de ce genre, te donne les Guid des variables "OBJETS" inscrit dans la base de registre de Windows. Chaque objet en a un... et lorsque l'on déclare sa variable objet, on indique à windows de quel objet il s'agit ....de même est-il possible pour lui de nous donner dans la liste déroulante, la liste des propriétés et méthodes de l'objet.
Cette sub n'a pas été testé parce que quelqu'un est venu me prendre ce fichier... comme je suis le seul à l'utiliser, c'est donc quelqu'un de l'extérieur ! Est-ce qu'un intru se serait introduit dans ma machine ?
Si quelqu'un a windows xp et excel 2003, ce serait gentil de m'envoyer sur mon adresse Hotmail une copie du fichier : TLBINF32.DLL que l'on retrouve dans c:WindowsSystem32 pour une installation standard.
'------------------------------------ Sub Trouver_Le_GuID_Des_Objets() '****************************************************** 'Requires a reference to TypeLib Information (TLBINF32.DLL) '****************************************************** On Error Resume Next Dim TLI As New TLIApplication Dim x As Range Set x = Range("A1:A10") MsgBox TLI.InterfaceInfoFromObject(Obj).GUID End Sub '------------------------------------
"Modeste" a écrit dans le message de news: % Bonsour® MichDenis avec ferveur ;o))) vous nous disiez :
la notation Hongroise
Encore heureux qu'on ne soit pas obligé de déclarer les variables objets par leur Quid inscrit dans la base de registre de windows ...;-)))
;o)))
tu veux parler des GuId ??? comme ceci : Private Sub Workbook_Open() On Error Resume Next ' Ajout de la bibliotheque Microsoft Speech object library ActiveWorkbook.VBProject.References.AddFromGuid "{C866CA3A-32F7-11D2-9602-00C04F8EE628}", 5, 0 End Sub
dans un module : Option Explicit Public Vocal As New SpVoice Public toto As String
Sub Parler(phrase As String) ' Vocal.Speak phrase End Sub
Sub Test() Parler "Bonjour Denis !" End Sub
-- -- @+ ;o)))
MichDenis
Ah ça tu charries c'était 100 euros l'autre jour (pas fou je vois que tu ne factures pas en dollars :-))
Misange migrateuse XlWiki : Participez à un travail collaboratif sur excel ! http://xlwiki.free.fr/wiki http://www.excelabo.net
Ah ça tu charries c'était 100 euros l'autre jour (pas fou je vois que tu
ne factures pas en dollars :-))
Misange migrateuse
XlWiki : Participez à un travail collaboratif sur excel !
http://xlwiki.free.fr/wiki
http://www.excelabo.net
merci Denis d'avoir mis ici ce joli test de JW. *** Et c'est gratuit... l'histoire ne dit pas si M. Walkenback apprécie ... ;-)
Misange
Bonjour François,
Justement Denis a donné d'autres exemples qui montrent très bien l'utilité de déclarer ses variables outre l'aspect "règle de l'art" - rapidité - accès aux méthodes et propriétés - lisibilité du code
Je t'accorde que quand on écrit deux lignes de code pour répondre à quelqu'un sur un forum, il peut être tentant de ne pas tout mettre, y compris les déclarations de variables. Mais de là à conseiller à des questionneurs de ne pas déclarer il y a un pas ! Chacun fait ensuite ce qu'il veut. S'obliger à déclarer ses variables quand on se met au VBA ça oblige aussi à se poser les questions sur les objets qu'on manipule. C'est un booléen ce truc ? un range ? Ca évite de se retouver avec des messages de type "propriété ou méthode non gérée par cet objet".
Quand tu te déplaces dans une ville que tu connais, tu as tes chemins, tes habitudes. Tu passes pas forcément par le chemin le plus court parce que tu as tes repères. Avec excel c'est un peu pareil on peut souvent obtenir le même résultat apparent final en utilisant des formules (ultrarapides) ou une macro (plus lente mais parfois plus facile à coder qu'une formule de 3 lignes); en ne déclarant pas les variables ou en le faisant; en ajoutant des bouts de code inutiles mais qu'on comprend bien... Mais si un étranger me demande comment aller d'un endroit à un autre dans ma ville, j'essaie de lui indiquer le chemin le plus logique, pas celui que je prends parce que j'adore la rue truc et ses jolies maisons ! Pareil avec excel : autant indiquer les bonnes pratiques, celles qui sont systématiquement recommandées par tous les gourous d'excel depuis des années (il doit bien y avoir une raison quand même tu ne crois pas, ce ne sont pas tous des gens amoureux de l'art de coder !)
Misange migrateuse XlWiki : Participez à un travail collaboratif sur excel ! http://xlwiki.free.fr/wiki http://www.excelabo.net
Rebonjours MicheDenis
Il faut considérer l'intégralité de mon propos :
Et en aucun cas je me rallierai à cette dynamique : "j'ajouterai que le typage correct est également une des régles de l'art "
Ce qui veux dire que pour toute autre dynamique qui prone l'efficacité et l'utilité je suis à votre écoute moi qui est tant à apprendre !!!!
Vous n'allez pas me faire croire que c'est le seul privilège des puristes !!!
Ce serait particulièrement décevant
Merci d'avance
Bonjour François,
Justement Denis a donné d'autres exemples qui montrent très bien
l'utilité de déclarer ses variables outre l'aspect "règle de l'art"
- rapidité
- accès aux méthodes et propriétés
- lisibilité du code
Je t'accorde que quand on écrit deux lignes de code pour répondre à
quelqu'un sur un forum, il peut être tentant de ne pas tout mettre, y
compris les déclarations de variables. Mais de là à conseiller à des
questionneurs de ne pas déclarer il y a un pas ! Chacun fait ensuite ce
qu'il veut. S'obliger à déclarer ses variables quand on se met au VBA ça
oblige aussi à se poser les questions sur les objets qu'on manipule.
C'est un booléen ce truc ? un range ?
Ca évite de se retouver avec des messages de type "propriété ou méthode
non gérée par cet objet".
Quand tu te déplaces dans une ville que tu connais, tu as tes chemins,
tes habitudes. Tu passes pas forcément par le chemin le plus court parce
que tu as tes repères. Avec excel c'est un peu pareil on peut souvent
obtenir le même résultat apparent final en utilisant des formules
(ultrarapides) ou une macro (plus lente mais parfois plus facile à coder
qu'une formule de 3 lignes); en ne déclarant pas les variables ou en le
faisant; en ajoutant des bouts de code inutiles mais qu'on comprend
bien... Mais si un étranger me demande comment aller d'un endroit à un
autre dans ma ville, j'essaie de lui indiquer le chemin le plus logique,
pas celui que je prends parce que j'adore la rue truc et ses jolies
maisons ! Pareil avec excel : autant indiquer les bonnes pratiques,
celles qui sont systématiquement recommandées par tous les gourous
d'excel depuis des années (il doit bien y avoir une raison quand même tu
ne crois pas, ce ne sont pas tous des gens amoureux de l'art de coder !)
Misange migrateuse
XlWiki : Participez à un travail collaboratif sur excel !
http://xlwiki.free.fr/wiki
http://www.excelabo.net
Rebonjours MicheDenis
Il faut considérer l'intégralité de mon propos :
Et en aucun cas je me rallierai à cette dynamique :
"j'ajouterai que le typage correct est également une des régles de
l'art "
Ce qui veux dire que pour toute autre dynamique qui prone l'efficacité
et l'utilité je suis à votre écoute moi qui est tant à apprendre !!!!
Vous n'allez pas me faire croire que c'est le seul privilège des
puristes !!!
Justement Denis a donné d'autres exemples qui montrent très bien l'utilité de déclarer ses variables outre l'aspect "règle de l'art" - rapidité - accès aux méthodes et propriétés - lisibilité du code
Je t'accorde que quand on écrit deux lignes de code pour répondre à quelqu'un sur un forum, il peut être tentant de ne pas tout mettre, y compris les déclarations de variables. Mais de là à conseiller à des questionneurs de ne pas déclarer il y a un pas ! Chacun fait ensuite ce qu'il veut. S'obliger à déclarer ses variables quand on se met au VBA ça oblige aussi à se poser les questions sur les objets qu'on manipule. C'est un booléen ce truc ? un range ? Ca évite de se retouver avec des messages de type "propriété ou méthode non gérée par cet objet".
Quand tu te déplaces dans une ville que tu connais, tu as tes chemins, tes habitudes. Tu passes pas forcément par le chemin le plus court parce que tu as tes repères. Avec excel c'est un peu pareil on peut souvent obtenir le même résultat apparent final en utilisant des formules (ultrarapides) ou une macro (plus lente mais parfois plus facile à coder qu'une formule de 3 lignes); en ne déclarant pas les variables ou en le faisant; en ajoutant des bouts de code inutiles mais qu'on comprend bien... Mais si un étranger me demande comment aller d'un endroit à un autre dans ma ville, j'essaie de lui indiquer le chemin le plus logique, pas celui que je prends parce que j'adore la rue truc et ses jolies maisons ! Pareil avec excel : autant indiquer les bonnes pratiques, celles qui sont systématiquement recommandées par tous les gourous d'excel depuis des années (il doit bien y avoir une raison quand même tu ne crois pas, ce ne sont pas tous des gens amoureux de l'art de coder !)
Misange migrateuse XlWiki : Participez à un travail collaboratif sur excel ! http://xlwiki.free.fr/wiki http://www.excelabo.net
Rebonjours MicheDenis
Il faut considérer l'intégralité de mon propos :
Et en aucun cas je me rallierai à cette dynamique : "j'ajouterai que le typage correct est également une des régles de l'art "
Ce qui veux dire que pour toute autre dynamique qui prone l'efficacité et l'utilité je suis à votre écoute moi qui est tant à apprendre !!!!
Vous n'allez pas me faire croire que c'est le seul privilège des puristes !!!