bonjour,
je voudrai avoir un petit programme permettant de scruter toute la colonne et d'afficher dans une case la valeur la plus grande .
Merci
-----
bonjour,
je voudrai avoir un petit programme permettant de scruter toute la colonne et d'afficher dans une case la valeur la plus grande .
Merci
Bonjour
Utilise la fonction MAX()
Si tu tiens vraiment à le faire en VBA :
Code:sub toto() maxi=0 range("A1").select do while activecell.value<>"" if activecell.value > maxi then maxi=activecell.value end if cells.offset(1,0).select loop msgbox "la valeur la plus élevée est " & maxi end sub
bonjour ,
peux m'expliquer les syntaxe en detail stp
je debut en VB
merci beaucoups
Si tu as un peu de vocabulaire anglais, c'est lisible en directCode:sub toto() ' déclaration de la routine maxi=0 ' déclaration de la variable "maxi" et affectation de la valeur zéro range("A1").select' sélection de la cellule A1 do while activecell.value<>"" ' tant que la cellule active est non vide if activecell.value > maxi then ' si la cellule active contient une valeur supérieure à la variable "maxi" maxi=activecell.value ' dans ce cas, on remplace la valeur de maxi par celle de la cellule end if ' fin de la condition IF cells.offset(1,0).select ' sélection de la ligne suivante loop ' ' fin de la condition do while msgbox "la valeur la plus élevée est " & maxi ' on affiche une boite dialogue indiquant la valeur maximum end sub ' fin de la routine
Sinon, n'espère même pas programmer ou alors ce sera très dur !
bonjour ,
Merci beaucoups pour ces explication .
Bien entendu certaine chose que j'ai colprise grace à l'anglais mais par exemple
cette expression :activecell.value<>"" "on parle d activé la celulle et de valeur mais ce sympoile <> qui signifie apparement vide
faut le savoir
donc les explications sont tre bein faite encore merci
j'ai un soucis dans tous mon programme il me dit erreur 1004
j'envoi le programme -->
http://www.cjoint.com/c/FDig7JRvK66
non, on ne parle pas d'activité. activecell signifie cellule sélectionnée. C'est de l'Anglais, les mots d'origine françaises n'ont pas forcément le même sens !
<> signifie "différent de". Quand on écrit 'activecell.value<>"" ', cela veut dire différent de vide.
Tu ne peux pas programmer si tu n'as pas intégré ces symboles et autres signes.
Bonjour,
Pour le cas où la colonne ne comprendrait que des valeurs négatives, il vaudrait mieux initialiser maxi à la première valeur de la colonne plutôt qu'à 0.
Oui c'est une bonne solution. On a procédé ainsi dans l'exemple car en VBA, on connait à priori les bornes approximatives des données à explorer mais j'en conviens, c'est une mauvaise habitude !
ok je comprends non je reconnais ne pas avoir de bases solides vous me conseillez quoi comme site pour les cours pour apprendre un minimum
car j'en ai vu plein de site mais pour commencer réellement j'aimerai vos avis
oui on ma fais un programme VB et s est tellement complexe que j'ai vraiment du mal j'ai l'impression d etre face a un mur et pas pouvoir passer par dessus si j'ose l'expression
Encore merci
Commence par celui-ci.
Même pour un programmeur chevronné, c'est très difficile de "mettre le nez" dans un programme tout fait si il n'est pas correctement commenté.
Donc pour un débutant, c'est impossible à moins d'être hyper doué !
Merci tres bien expliquer en plus fait par toi même chapeau mais sa serait cool de faire des exemple avec youtube je vais voir ça ce week end mais tu as l'air tres caler sur ce langage. Sinon comment fait on pour virer un programme vba de excel pour eviter qu'il nous créer des conflits ?
Encore merci
version 14.0.7166.5000
année: 2010
bonjour ,
j'ai inserer mon programme a la suite de ce que j'ai envoyer dans le fichier ci-joint dans la partie "cls traitement" a la suite de ce morceau de programme :
mais lors de l’exécution j'ai une erreur .
If collData.Count < 2 Then Exit Sub
For Each pt In collData
moy = moy + pt.valeur
Next
moy = moy / collData.Count
newPage.Cells(collData.Count + 2, 1) = collData(1).dt
newPage.Cells(collData.Count + 2, 1).NumberFormat = "h:mm;@"
newPage.Cells(collData.Count + 2, 2) = moy
newPage.Cells(collData.Count + 3, 1) = collData(collData.Count).dt
newPage.Cells(collData.Count + 3, 1).NumberFormat = "h:mm;@"
newPage.Cells(collData.Count + 3, 2) = moy
End Sub
Private Sub CreateChartMoy()
ac.SeriesCollection.NewSeries
ac.SeriesCollection(2).XValues = "=Rapport!$A$" & collData.Count + 2 & ":$A$" & collData.Count + 3
ac.SeriesCollection(2).Values = "=Rapport!$B$" & collData.Count + 2 & ":$B$" & collData.Count + 3
"sub toto()
maxi=0
range("A1").select
do while activecell.value<>""
if activecell.value > maxi then
maxi=activecell.value
end if
cells.offset(1,0).select
loop
msgbox "la valeur la plus élevée est " & maxi
end sub"
End Sub
Quelle erreur ?
Lire un programme est déjà difficile.
Ça ne sert à rien de mettre une deuxième énigme.
Là on doit comprendre comment ça marche (sachant que ce n'est pas évident puisque toi qui l'as écrit tu ne le comprends pas) et en plus deviner le résultat que tu obtiens.
Bonjour ,
j'essaye le programme que tu m'a donné dans une nouvelle feuille excel
j'ai mis des nombre dans la colonne A et il m'indique 'erreur execution 1004"
Sans savoir sur quelle ligne ça bloque, ça va être difficile !j'ai mis des nombre dans la colonne A et il m'indique 'erreur execution 1004
voila ce que ça me fais ça bloque au niveau de "sub toto () "
pb vb 1.JPG
pb vb 2.JPG
Probleme resolu avec cette syntaxe :
a ne pas oublier leSub valmax()
MsgBox [max(B1:b5)]
End Sub
'call valmax"
C'était ma 1ère proposition !
bonjour ,
je reviens vers vous pour demandez comment je peut faire pour que la personne ai juste a cliquer sur un bouton pour que la maccro s execute j'ai mit un bouton
et j'ai inserer dans le modulemerci pour votre aidePublic Sub Traitement()
If CommandButton1 = True Then
Dim tr As New clsTraitement
tr.Traitement
End If
End Sub
Bonjour,
pourquoi t'em..beter avec VBA si tu ne sais pas programmer du tout, sauf si c'est pour apprendre bien sur:
Si tu cherche à afficher en permanence le nombre maximum de ceux contenus dans la colone A, alors en B1 tu mets la formule "=MAX(A:A)" (sans les quotes bien sûr) et pas besoin de bouton, le maximum s'affichera en permanence dès qu'un nombre sera modifié dans la colonne A.
Remarque: tu devrais peut être suivre une formation excel.
bonjour oui bien sur s est pour apprendre
Bonjour,
Ok,
Mon conseil avant de commencer la programmation VBA, c'est déjà de regarder les fonctions prédéfinies que tu peux mettre dans une cellule (le fx dans le champ de saisie en leiu et place d'une valeur).
Pour le maximum d'une colonne, par exemple, fais ce que je t'ai indiqué, ensuite profite de l'aide intégrée pour voir toutes les formules que tu peux utiliser.
Ensuite un bon site d'aide et d'explications: https://web.archive.org/web/20150919....excelabo.net/
Tu trouveras là, beaucoup d'explications sur les formules et le VBA (je ne pense pas que tu pourras télécharger les exemples).
Il y a aussi http://excel.developpez.com/ très didactique
Tu pourras aussi voir http://lecompagnon.info/vba-excel/vb...m#.Vx9sanq8oXB qui est pas mal
et aussi http://codes-sources.commentcamarche...-1/15-vba/last pour des exemples complets assez chiadés.
Bon courage