VBA "N'appartient pas à la selection ?"

Bonjour le forum

c'est vrai que je n'appartiens pas encore à la "sélection expertes VBA", M'enfin je m'efforce...

Ici j'ai besoin d'aide pour me dire pourquoi l' intruction 3 n'appartient pas à la selection et enpêche le résultat?

Et pour me dire comment lancer la procédure si la cell "G1" = 1 et si "G1" = 0 alors TheYear = 0

Sub SetUpTable()

Worksheets("Sheet1").Activate

For TheYear = 1 To 5

Cells(1, TheYear + 1).Value = 2006 + TheYear

Next TheYear

if cells("G1") = 1 then theYear = 0

End Sub

Merci de votre compréhension et de votre aide

Cordialement

Bisous

Muriel

Bonjour,

Surement que "Sheet1" n'existe pas dans le fichier.

A bientôt

Merci Dan

Suis pas bien reveillée today

Tu as raison c'est "feuil1" qu'il faut utiliser

Je n'ai plus le défaut mais tj pas le résultat ??

Muriel

re,

Comme ceci :

Sub SetUpTable()
Dim theyear As Byte
For theyear = 1 To 5
    Worksheets("Feuil1").Cells(1, theyear + 1).Value = 2006 + theyear
Next theyear
If Range("G1") = 1 Then theyear = 0
End Sub

Re dan

Tu as tj de beaux yeux

ca ne colle pas ??

pas plus que ma procédure:

Private Sub Workshets_Calculate()

If Range("G1") = 1 Then

For theyear = 1 To 5

Cells(1, theyear + 1).Value = 2006 + theyear

Next theyear

If Range("G1") = 0 Then theyear = 0

End If

End Sub

Entre nous je préférerai faire fonctionner ma procédure (question progression perso) il n'y a pas de raison que je ne puisse aboutir avec...

A +++

Bisous

Muriel

Re Muriel,

Private Sub Workshets_Calculate()
If Range("G1") = 1 Then
      For theyear = 1 To 5
            Cells(1, theyear + 1).Value = 2006 + theyear
      Next theyear
End IF ' <= manquait à l'appel ;)

If Range("G1") = 0 Then 
      theyear = 0
End If

End Sub

Comme cela, ca devrait aller mieux, par contre n'ayant pas le reste du fichier, j'ai vérifié la macro en mode pas à pas, mais elle fonctionne.

re,

Evidemment si on change de Sub vers private sub ce n'est pas la même chose.

Entre nous je préférerai faire fonctionner ma procédure (question progression perso)

J'ai pas de souci avec cela. Reste plus qu'à chercher...

G1 est le résultat d'une formule ou le résultat d'une donnée entrée au clavier ?

Re dan

Ecuses à toi et Zirak

Tu as raison pour une fois que j'ai voulu déroger à ma regle d'or " joindre fichier explicatif" je fais perdre du temps à tous. Ca ne fonctionne pas je m'en veux

L'objectif est à la suite d'un cacul d'afficher sur 5 cellules d'une mm ligne les années 2006 +1 puis 2007 etc...

je joint mon fichier de visualisation

Dsl

bisous à vous 2

Muriel

re

L'objectif est à la suite d'un cacul d'afficher sur 5 cellules d'une mm ligne les années 2006 +1 puis 2007 etc...

Ok. Je vois qu'en J1 il y a une chiffre.

Donc l'opérateur mets ce chiffre en J1 au clavier puis G1 se met à 0 ou 1 par formule.

Si G1 = 1 on met les années, si G1 = 0 rien ne se passe. Juste ?

Juste une question, pourquoi passer par G1 et ne pas simplement exécuter le code selon la valeur de J1

re dan

Si j'utilise 2 cellules dans mon fichier c'est pour différencier la procédure d'une entrée par clavier d'une entrée par une formule.

Ici l'objectif est de préparer l'en tête du bilan sur 5 ans d'une agence ou les formules de calcul délivrent une dérive de résultat sur un ou/des postes donnés...

la procédure servira de modéle pour le reste du tableau

Dans notre Projet les données seules sont entrées par clavier ( en aucun cas elles ne peuvent lancer une procédure)

" " Procédures sont lancées automatiquement par des formules

" " les échanges avec l'utilisateur se font avec des box

Je travaille sur un énorme programme d'automatisation avec des formules dont les résultats (souvent des conditions 0/1) déclenchent des dizaines de procédures.

Base départ ordinogrammes (logiciel Flow charter) une entrée délivrant une Question Deux sorties (oui non)

Exemple La porte est ouverte => oui (je rentre) ==> non ( suite ai-je la cléf etc.. )

Base données => Acces et Excel

Automatisme = procédure VBA sur Excel voir Access

Experte en FlowCharter, Access, Excel, je suis débutante en VBA, en formation intensive en Juillet prochain, en attendant je me forme du mieux possible grace à votre aide, les cours sur le net et mon achat "VBA pour office 2007" => 2011 pages => je progresse bien je trouve grace à vous tous.

Merci tu es sympa

Bisous

Muriel

re,

Je ne vois pas l'intérêt car finalement J1 dépend de G1.

Si G1 vaut 1 c'est que J1 vaut 1.

Avec quelques corrections sur le code précédent cela devrait fonctionner.

Dans le fichier joint il faut remplacer le code par celui ci-après

Private Sub Worksheet_Calculate()
dim theyear as byte
If Range("G1") = 1 Then
For theyear = 1 To 5
   Cells(1, theyear).Value = 2006 + theyear
Next theyear
End If
End Sub

A voir ce qu'il faut faire si G1 vaut 0.

Oui, quand G1=0 cela met the year à 0, mais cela doit-il remettre les cellules à 0 aussi, oué c'est juste le 1 qui sert à lancer la procédure de création des plages ?

edit: bon j'avais la même chose que Dan, mais j'avais laissé le fichier au boulot.

Rechercher des sujets similaires à "vba appartient pas selection"