Aide sur cellule

Résolu
eeuuhh Messages postés 30 Date d'inscription   Statut Membre Dernière intervention   -  
eeuuhh Messages postés 30 Date d'inscription   Statut Membre Dernière intervention   -
Salut,

Comme je suis débutant je voudrais savoir si il existe une fonction, une macro qui retourne les coordonnées (donc n°colonne et n° ligne) d'une case (préalablement sélectionné) ?

De plus (j'espere que ca ne va pas etre trop vous demandé), quel est la fonction pour lire le contenu d'une cellule pour pouvoir l'analyser par la suite.

J'utilise Miscrosoft Excel 2003



MERCI pour tout.

11 réponses

zavenger Messages postés 811 Date d'inscription   Statut Membre Dernière intervention   161
 
salut

activecell.row
activecell.column
activecell.value

te renvoie la ligne, colonne et valeur de la cellue courante

Tu peux remplacer activecell par Range("B3") ou alors Cells(3,2) pour avoir les donnees de la cellule B3

Mais une fois que tu est dans l'editeur VB, n'hesite pas a faire F1 pouir une aide contextuellle
0
eeuuhh Messages postés 30 Date d'inscription   Statut Membre Dernière intervention  
 
D'accord merci zaverger. Est ce tu connai une fonction pour lire le contenue d'une cellule, enfin une macro pour qu'elle sache ce qu'il y a dans la macro. Et par hasard sait tu comment écrire dans une cellule.

Voila ^^

Merci bien !!
0
zavenger Messages postés 811 Date d'inscription   Statut Membre Dernière intervention   161
 
Desole je ne comprends pas ta question ... Plus explicite peut etre?
0
eeuuhh Messages postés 30 Date d'inscription   Statut Membre Dernière intervention  
 
OK désolé :)

En faite je voudrai réaliser une macro avec une boucle FOR. Cette boucle FOR me permettrai de partir de la dernière cellule d'une colonne et de remonter (les cellules de la colonne) pour s'arrêter jusqu'à qu'à la première cellule "non-vide".

Donc je vois a peut prés comment réaliser cette partie (je vais essayé de m'en occuper) mais le problème c'est que je voudrai lire le contenue de cette cellule (cette dernière est sous sous forme de Date). Serait-il possible de mettre le contenu de cette cellule dans une variable ?


Voila, j'espère avoir été assez clair
Sinon n'hésite pas à redemander des explications.
0
Amnesic
 
Bonjour,
NomVariable = ActiveCell.Value ' permet de stocker la valeur de la cellule active dans la variable NomVariable
Comme l'expliquait zavenger, "tu peux remplacer activecell par Range("B3") ou alors Cells(3,2) pour avoir les donnees de la cellule B3"
A+
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
zavenger Messages postés 811 Date d'inscription   Statut Membre Dernière intervention   161
 
Je ne sais pas comment tu as prevu de trouver la derniere cellule de ta colonne, mais cette fonction

ActiveSheet.Cells.SpecialCells(xlCellTypeLastCell).Row

te retourne le numero de ligne de la derniere cellule de ta page. Cela aide souvent
0
eeuuhh Messages postés 30 Date d'inscription   Statut Membre Dernière intervention  
 
okokok bon jvais programmé now
Et si le besoin se présente je vous demanderai conseils !!

Merci a+
0
eeuuhh Messages postés 30 Date d'inscription   Statut Membre Dernière intervention  
 
lol y a 2 sec je me suis prit pour un pro de VB.


Me voilà bloqué ......... (comme d'ab....)

En faite j'ai créer la boucle FOR (facile a faire sa!^^)
Mais le problème c'est que je ne sais pas comment dire à la boucle FOR de s'arrêter jusqu'à qu'elle trouve une cellule non-vide ....

Voici le débur de la macro :
Sub detectecellnonvide()
Dim nonvide As Variant
For nonvide = ActiveSheet.Cells.SpecialCells(xlCellTypeLastCell).Row To 1 Step -1
    
              ............................


Next nonvide
End Sub






Merci encore et encore pr votre aide
+




Désolé
0
zavenger Messages postés 811 Date d'inscription   Statut Membre Dernière intervention   161
 
Sub detectecellnonvide()
Dim nonvide As Variant
nonvide = ActiveSheet.Cells.SpecialCells(xlCellTypeLastCell).Row
While (Cells(nonvide,1).Value <> "") '1 si tu veux tester la colonne A, 2 la B, etc ...
nonvide = nonvide -1
Wend
End Sub
0
eeuuhh Messages postés 30 Date d'inscription   Statut Membre Dernière intervention  
 
Merci merci merci mille fois Zavenger MAIS.... ^^

Voila j'ai voulu mettre dans la variable "contenu" le contenu de la cellule en question (la cellule où la macro que tu m'a écrit s'arrête. Cette cellule est en forme Date)
Ainsi avec le MsgBox j'ai voulu afficher le contenu de la cellule mais en compilant la MsgBox retourne rien ..............
Sub cellnonvide()

Dim nonvide As Variant
Dim contenu As String

nonvide = ActiveSheet.Cells.SpecialCells(xlCellTypeLastCell).Row
While (Cells(nonvide, 1).Value <> "") '1 si tu veux tester la colonne A, 2 la B, etc ...
nonvide = nonvide - 1
Wend

contenu = ActiveCell.Value
MsgBox contenu
End Sub



ActiveCell.Value
retourne bien la cellule sélectionné ?


merci merci merci MERCI :D
0
zavenger Messages postés 811 Date d'inscription   Statut Membre Dernière intervention   161
 
Alors Oui, ActiveCell.Value retourne bien la cellule sélectionné, sauf que la macro n'a rien selectionné, elle s'est contentée delire le contenu des cellules. Si tu veux positionner la cellule active sur la cellule que la macro trouve, il faut faire

Cells(nonvide, 1).select
contenu = ActiveCell.Value
MsgBox contenu

ou alors si tu n'as pas besoin de te positionner sur la cellule trouvee, il faut faire

contenu = Cells(nonvide, 1)l.Value
MsgBox contenu
0
eeuuhh Messages postés 30 Date d'inscription   Statut Membre Dernière intervention  
 
REsalut : )

D'abord Merci zavenger de prendre du temps pour bien m'expliquer le VB.

Alors j'ai intégré la partie de code qui me permettrai de me positionner sur la cellule active que la macro a trouvé et d'afficher son contenue via la MsgBox.

Sub cellnonvide()
Dim nonvide As Variant
Dim contenu As String

nonvide = ActiveSheet.Cells.SpecialCells(xlCellTypeLastCell).Row
While (Cells(nonvide, 1).Value <> "") 
nonvide = nonvide - 1
Wend

Cells(nonvide, 1).Select
contenu = ActiveCell.Value
MsgBox contenu

End Sub


Mais voilà la MsgBox n'affiche que dalle enfin n'affiche rien ^^
Pourtant je pense que tu ne t'es surement pas trompé (et loin de moi cette idée)!! J'ai donc du faire une erreur ....



Voila allez +++
Ty
0
zavenger Messages postés 811 Date d'inscription   Statut Membre Dernière intervention   161
 
Ben si je me suis trompé

la condition est celle-ci

While (Cells(nonvide, 1).Value = "")
0
eeuuhh Messages postés 30 Date d'inscription   Statut Membre Dernière intervention  
 
Super merci sa marche maintenant. C'est gentil !

MAIS ....
(lol)

Juste comme sa pour ca pour savoir les coordonnées de la cellule en question...
Je met

Dim position as String

position = Range(Cells(nonvide, 1))
MsgBox position



...


Allez merci bien zavenger !!!!
0
zavenger Messages postés 811 Date d'inscription   Statut Membre Dernière intervention   161
 
euhh peut etre
dans Cells(nonvide, 1) nonvide c'est le numero de ligne et 1 le numero de colonne (donc A)

bon, pour aller plus loin dans la programmation, il faudrait peut etre que tu trouves un cours sur la programmation objet parce que la .... il faut que tu comprenne la difference entre une propriete, une methode et puis que tu apprennes a utiliser l'aide en ligne d'excel qui n'est quand meme pas mal faite et qui va t'apprendre plein de chose. Ce n'est pas que je ne veuille pas t'aider mais il faudrait que tu bosses un peu tout seul et puis que tu reviennes sur le forum pour des problemes bien specifiques.

Bon WE
0
eeuuhh Messages postés 30 Date d'inscription   Statut Membre Dernière intervention  
 
ok np +++ ; )
0