Affectation de cellules active dans une macro excel

Signaler
-
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
-
Bonjour,
je n'y connais rien dans tous ces langages de programmation est ceci est basé sur un programme que j'ai trouvé dans un post :

1- Sub Hsurdenfonctiondeksikk()
2- adresse = ActiveCell
3- While AciveCell <> "finfin"
4- While ActiveCell <> "fin" 'start of the loop: I wrote fin in the first empty checkbox
5- SolverReset
6- AdresseCelluleCible = ActiveCell.Address 'equation had to be in these checkbox
7- ActiveCell.Offset(0, 1).Select 'moving to H/d column
8- AdresseCelluleACalculer = ActiveCell.Address 'variable assignment
9- ActiveCell.Offset(0, -1).Select 'going back to the first checkbox
10- SolverOk SetCell:=AdresseCelluleCible, MaxMinVal:=3, ValueOf:="0", ByChange:=AdresseCelluleACalculer
11- SolverSolve (True)
12- ActiveCell.Offset(1, 0).Select 'moving to the next line
13- Wend
14- ActiveCell = adresse.Offset(0, 4).Select
15- adresse = ActiveCell
16- Wend
17- End Sub

Alors, ce programme fonctionne sans les lignes 2,3,14,15,16. Il permet d'utiliser le solveur sur plusieurs lignes rapidement. C'est donc moi qui ai rajouté les lignes avec lesquelles il ne fonctionne plus afin de recommencer pour une autre colonne. J'écris donc "fin" en bas de chaque colonne à traiter et "finfin" en bas de la dernière. Mon affectation ne doit pas marcher mais comment la faire? en fait je veux refaire la même chose pour une colonne située 4 rangs plus à droite.
Je n'en suis pas sûr mais j'espère avoir été assez clair pour que vous puissiez m'aider.
Merci à tous ceux qui savent mieux utiliser un ordinateur que moi :)

3 réponses

Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
229
Bonjour,
VBA n'est pas VB6.
J'ai déplacé ta discussion vers la section adéquate.
Prends-en bonne note pour ouvrir tes prochaines discussions concernant VBA
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
229
Je veux bien que tu déclares que tu " n'y connais rien dans tous ces langages de programmation", mais ce n'est pas une raison pour ne pas commencer à t'y mettre (au moins apprendre les fondements les plus élémentaires).
Cette ligne, par exemple et entre autres, me fait bondir :
14- ActiveCell = adresse.Offset(0, 4).Select 

La propriété ActiveCell retourne (ne la définit pas) la cellule active
Il va falloir que tu commences à apprendre les bases de VBA, si tu veux pouvoir continuer valablement.
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
229
Je viens par ailleurs de lire les "autres" lignes (celles que tu as copiées (pas tes propres rajouts).
Je ne sais pas où tu les as "pêchées", mais une chose est certaine et saute aux yeux : leur auteur n'est pas, lui-même, un développeur alerte (c'est le moins que l'on puisse dire en restant poli).
Tu ferais dans ces conditions mille fois mieux de t'y mettre vraiment toi-même, en reprenant tout de A à Z.