RECHERCHER :
COMMUNAUTE MP
Identifiez vous ...
Devenir Membre
J'ai oublié mon MDP
DOMAINE MP
Bavardages
Langages Généraux
Langages Web
Langages DotNet
Autres langages
Dev. Jeux Video
Sécurité
Sys. Exploitation
Graphismes
Logiciels
Réseaux
Bases de données
Méthodologies
Emplois High-tech
Aide juridique
Articles juridiques
FORUM
Index des forums
Ajouter un sujet
Rechercher sujet
Contact Responsable
Devenir modérateur
CHAT MP IRC
Votre pseudo ...
Serv: irc.irc-land.org
Chan: #MoteurProg
PARTICIPER
Plus de 3500 emplois.
Rechercher un job
Déposez votre CV
Emplois High-tech

Visiteur MP

 [bureautique] question de langage

Forum : BUREAUTIQUE
Sous Catégorie : Aucune
Type du sujet : Sujet Normale
FAQ : FAQ BUREAUTIQUE

SUIVI DES SUJETS PAR MAIL

SUIVI PAR MAIL INACTIF

RESOLUTION DU SUJET SUJET RESOLU
BLOQUAGE DU SUJET SUJET ACTIF
APPARTENANCE A LA FAQ N'APPARTIENT PAS A LA FAQ


PAGES : [1] [2]

POSTER UN NOUVEAU SUJET REPONDRE A CE SUJET

FORUM BUREAUTIQUE

PREMIERE PAGE

PAGE PRECEDENTE

Page précedente

Page suivante

PAGE SUIVANTE

DERNIERE PAGE
ocean
Nouveau membre
Inscrit : 21/05/2008
Messages : 20
Message
#153539
Posté le 28/05/08 à 08:44
salut RGI!
tu viens de m'enlever une grosse épine du pied. je n'avais vraiment pas compris comment déclarer mes variables lignes et colonnes.

Sinon j'ai une autre question. Je sais qu'utiliser les valeurs null dans desboucles c'est pratique. j'ai regarder sur l'aide de visual basic comment il fallait faire mais je ne comprends pas bien leur exemple

Dim MyVar, MyCheck
MyCheck = IsEmpty(MyVar) ' Renvoie True.

MyVar = Null ' Affectation de Null.
MyCheck = IsEmpty(MyVar) ' Renvoie False.

MyVar = Empty ' Affectation de Empty.
MyCheck = IsEmpty(MyVar) ' Renvoie True.

Je ne comprend bien pas ce que tout ça signifie.
My check et myvar sont bien des variables?
MyCheck = IsEmpty(MyVar)
Du coup ça veut dire: ma variable mycheck est égale à la fonction qui définie la variable myvar comme vide. Comme on l'a défini vide avant alors c'est vrai,n'est ce pas?
MyVar = Null ' Affectation de Null.
MyCheck = IsEmpty(MyVar)
Ici je ne comprend pas. ma variable check est égale à la fonction is empty qui définie myvar comme vide. Puisqu'on a défini myvar comme null je ne comprend pas pourquoi c'est faux.
MyCheck = IsEmpty(MyVar) ' Renvoie True.

Dans une boucle tant que, si je définie myvar comme prenant les valeurs d'une cellule. Si j'écris while mycheck=isempty(myvar), alors quand j'arriverais sur une cellule vide ma boucle s'arrêtera, c'est ça? et je n'ai pas besoin d'écrire my var isempty avant la boucle.

dans l'aide de quelqu'un d'autre j'ai aussi trouver la même chose mais c'est isnull et pas isempty qui est utilisé. Quelle est la différence entre les deux?

HAUT DE PAGE

PROFIL MEMBRE LUI ECRIRE 

Publicité
Inscrit : X
Messages : X
Message
#Aucun

HAUT DE PAGE

  

ocean
Nouveau membre
Inscrit : 21/05/2008
Messages : 20
Message
#153540
Posté le 28/05/08 à 08:46
c'est encore moi
au fait j'ai oublié de te dire que c'est bien le nom de ma feuille qui' s'appelais "0".

HAUT DE PAGE

PROFIL MEMBRE LUI ECRIRE 

RGI
Superviseur :
- Logiciels
Modérateur :
- Visual basic
- Bureautique
Avatar de RGI
Inscrit : 21/08/2006
Messages : 1718
Message
#153542
Posté le 28/05/08 à 09:55
Bonjour Océan

"Empty" indique une valeur de variable non initialisée
c'est-à-dire à laquelle aucune valeur initiale n'a été affectée
Empty équivaut à 0 si elle est utilisée dans un contexte numérique
et à une chaîne de longueur nulle ("") dans un contexte de chaînes.

La valeur "Null" indique que la variable de type Variant ne contient intentionnellement aucune donnée valide.

attention aux espaces insécable (" ") ou chr(32) et aux cellules contenant des formules


donc pour ton exemple

Dim MyVar, MyCheck
MyVar = ""

while mycheck<>myvar
'ta macro
wend

voilà j'espère que c'est compréhensible

pour t'aider mets ce code dans un module et lance le (F5)

Sub test()
Dim MyVar, MyCheck
MyCheck = IsNull(MyVar)
MsgBox "Avec IsNull et pas de déclaration de MyVar donc Mycheck = " & MyCheck
MyCheck = IsEmpty(MyVar)
MsgBox "Avec IsEmpty et pas de déclaration de MyVar donc Mycheck = " & MyCheck
MyVar = ""
MyCheck = IsNull(MyVar)
MsgBox "Avec IsNull => MyVvar = """" donc Mycheck = " & MyCheck
MyCheck = IsEmpty(MyVar)
MsgBox "Avec IsEmpty => MyVvar = """" donc Mycheck = " & MyCheck
MyVar = Empty
MyCheck = IsNull(MyVar)
MsgBox "Avec IsNull => MyVvar = Empty donc Mycheck = " & MyCheck
MyCheck = IsEmpty(MyVar)
MsgBox "Avec IsEmpty => MyVvar = Empty donc Mycheck = " & MyCheck
MyVar = Null
MyCheck = IsNull(MyVar)
MsgBox "Avec IsNull =>MyVvar = Null donc Mycheck = " & MyCheck
MyCheck = IsEmpty(MyVar)
MsgBox "Avec IsEmpty => MyVvar = Null donc Mycheck = " & MyCheck
MyVar = " "
MyCheck = IsNull(MyVar)
MsgBox "Avec IsNull => MyVvar = "" "" donc Mycheck = " & MyCheck
MyCheck = IsEmpty(MyVar)
MsgBox "Avec IsEmpty => MyVvar = "" "" donc Mycheck = " & MyCheck
MyVar = Chr(32)
MyCheck = IsNull(MyVar)
MsgBox "Avec IsNull => MyVvar = Chr(32) donc Mycheck = " & MyCheck
MyCheck = IsEmpty(MyVar)
MsgBox "Avec IsEmpty => MyVvar = Chr(32) donc Mycheck = " & MyCheck


End Sub


Ok, pour le "0"

RGI
__________________________
PS: VBA pour EXCEL est maintenant dans Bureautique Smiley
merci de poser vos questions VBA à cet endroit
salutations

RGI

Un MERCI en retour c'est sympa
et ne pas oublier le tag :Imageaprès résolution.

HAUT DE PAGE

PROFIL MEMBRE LUI ECRIRE 

ocean
Nouveau membre
Inscrit : 21/05/2008
Messages : 20
Message
#153543
Posté le 28/05/08 à 10:35
salut RGI,
Je te remercie pour ce que tu m'as envoyé mais, comme tu le dis ma macro beug. Chez moi ça plante tout lorsque je l'ouvre. Du coup je ne peux pas exécuter ton module. Alors, j'ai essayé d'en faire une plus simple en essayant de déclarer mes données avec les colonnes. Finalement je crois que mon épine est toujours dans mon pied.
la macro que j'ai essayé de faire est bateau: j'ai écrit des chiffres dans la ligne10 et je veux que ma macro les réécrivent dans la ligne11 en ajoutant 1. La boucle doit s'arrêter quand il y a une case vide. le i me sert a changer de colonne.
le problème est que j'ai toujours pb exécution'1024'qui s'affiche et je n'arrive pas à le corriger. je croyais pourtant que j'avais compris tes explications.

Sub Macro1()
Set datatablerange = Worksheets("Feuil1").Range(("10" & "2"), (col & "11"))
Set rowinputcell = Worksheets("Feuil1").Range("10" & "2")
Set coluninputcell = Worksheets("Feuil1").Range("10" & "2")
Dim far As Variant
Dim vide As Variant
i = 2
vide = Empty
far = Worksheets("Feuil1").Cells("10,i").Value
While far <> IsEmpty(vide)
far = Worksheets("Feuil1").Cells("10,i").Value
far = far + 1
Worksheets("Feuil1").Cells("11,i").Value = far
i = i + 1
Wend
End Sub

HAUT DE PAGE

PROFIL MEMBRE LUI ECRIRE 

RGI
Superviseur :
- Logiciels
Modérateur :
- Visual basic
- Bureautique
Avatar de RGI
Inscrit : 21/08/2006
Messages : 1718
Message
#153544
Posté le 28/05/08 à 10:53
voilà ça va être plus simple
tu rapatries le fichier sur ton disque dur

Fichier RGI

les macros ont été testées et elles fonctionnent

RGI
__________________________
PS: VBA pour EXCEL est maintenant dans Bureautique Smiley
merci de poser vos questions VBA à cet endroit
salutations

RGI

Un MERCI en retour c'est sympa
et ne pas oublier le tag :Imageaprès résolution.

HAUT DE PAGE

PROFIL MEMBRE LUI ECRIRE 

ocean
Nouveau membre
Inscrit : 21/05/2008
Messages : 20
Message
#153545
Posté le 28/05/08 à 12:24
hip hip hip RGI!
bravo bravo RGI
ça y est ça marche, je suis trop contente. Par contre j'ai encore une question à te poser.

Mon programme peut commencer de deux façons différentes:

Dim far As Variant
Dim vide As Variant ('je déclare toujours mes variables de la mêm façon')
Dim i As Integer
Sub Macro1()

Worksheets("Feuil1").Activate ('soit j'écris cette ligne d'instruction')

Set datatablerange = Worksheets("Feuil1").Cells(1, 1)
Set rowinputcell = Worksheets("Feuil1").Cells(10, 2)
Set coluninputcell = Worksheets("Feuil1").Cells(10, 3) ('soit ces trois lignes')

i = 2 ('après je continue pareil')
vide = " "
far = Worksheets("Feuil1").Cells(10, 2).Value
While far <> IsEmpty(vide)
far = far + 1
Worksheets("Feuil1").Cells(11, i).Value = far
i = i + 1
far = Worksheets("Feuil1").Cells(10, i).Value
Wend
End Sub

Cela m'amène à me questionner sur l'tuilité de datatablerange, rowinputcell etcoluninputcell
depuis le début je ne comprends pas bien à quoi ces paramètres servent. surtout quand quelquechose d'aussi simple qu'activate peut suffir.
de la même anière je ne comprend pas à quoi sert arrow table(). peux tu éclairer ma lanterne sur ce sujet?

HAUT DE PAGE

PROFIL MEMBRE LUI ECRIRE 

RGI
Superviseur :
- Logiciels
Modérateur :
- Visual basic
- Bureautique
Avatar de RGI
Inscrit : 21/08/2006
Messages : 1718
Message
#153546
Posté le 28/05/08 à 12:31
Set datatablerange = Worksheets("Feuil1").Cells(1, 1)
Set rowinputcell = Worksheets("Feuil1").Cells(10, 2)
Set coluninputcell = Worksheets("Feuil1").Cells(10, 3) ('soit ces trois lignes')

donc ici tu as attribué des valeurs à ces trois variables
en effet dans ta macro ça ne sert à rien

si tu mets en dessous ces lignes

Msgbox datatablerange & " " & rowinputcell & " " & coluninputcell

tu veras que les variables ont bien pris la valeur des cellules

RGI
__________________________
PS: VBA pour EXCEL est maintenant dans Bureautique Smiley
merci de poser vos questions VBA à cet endroit
salutations

RGI

Un MERCI en retour c'est sympa
et ne pas oublier le tag :Imageaprès résolution.

HAUT DE PAGE

PROFIL MEMBRE LUI ECRIRE 

ocean
Nouveau membre
Inscrit : 21/05/2008
Messages : 20
Message
#153562
Posté le 28/05/08 à 13:46
ceci n'est pas très claire dans ma tête il va falloir que je cogite sur la question.
CIAO RGI

HAUT DE PAGE

PROFIL MEMBRE LUI ECRIRE 
POSTER UN NOUVEAU SUJET REPONDRE A CE SUJET

PREMIERE PAGE

PAGE PRECEDENTE Page précédente

Page suivante

PAGE SUIVANTE DERNIERE PAGE

FORUM BUREAUTIQUE



    PAGES : [1] [2]



.: Site Web développé par Julien Pichot et l'équipe MPWG avec www.evolvia-web.com :.