Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

indexer un champ avec cellules vides

4 réponses
Avatar
okolo
Bonjour à tous, bonsoir aux autres,

je cherche à nommer (ou référencer) un champ variable, où les cellules sont
remplies de manières tout à fait désorganisées, de manière à totaliser le
nombre de colonnes et de cellules qu'il y a depuis l'intersection gauche et
supérieures des cellules non vides, jusqu'à l'intersection de la ligne
inférieure et la colonne la plus à droite.
J'ai bien essayé de faire une macro avec la fonction
"édition-atteindre-texte" et ainsi nommer le résultat, mais la fonction
colonnes(nom) me signale une référence non valide.
Si quelqu'un a une idée, elle sera la bienvenue.

Merci d'avance

--
okolo

4 réponses

Avatar
Youky
ActiveCell.CurrentRegion.Select
MsgBox Selection.Column ' 1ere colonne
MsgBox Selection.Columns.Count + Selection.Column - 1 'derniere col
MsgBox Selection.Row '1ere ligne
MsgBox Selection.Rows.Count + Selection.Row - 1 'la der ligne

en étant placé sur une cell du tableau
Youky

je cherche à nommer (ou référencer) un champ variable, où les cellules
sont
remplies de manières tout à fait désorganisées, de manière à totaliser le
nombre de colonnes et de cellules qu'il y a depuis l'intersection gauche
et
supérieures des cellules non vides, jusqu'à l'intersection de la ligne
inférieure et la colonne la plus à droite.


Avatar
Daniel
Bonsoir.
J'ai peut-être pas compris ta question, aussi, je peux répondre à côté.
Essaie :
Set Plage = ActiveSheet.UsedRange
Cordialement.
Daniel
"okolo" (virerpoint)> a écrit dans le message
de news:
Bonjour à tous, bonsoir aux autres,

je cherche à nommer (ou référencer) un champ variable, où les cellules
sont
remplies de manières tout à fait désorganisées, de manière à totaliser le
nombre de colonnes et de cellules qu'il y a depuis l'intersection gauche
et
supérieures des cellules non vides, jusqu'à l'intersection de la ligne
inférieure et la colonne la plus à droite.
J'ai bien essayé de faire une macro avec la fonction
"édition-atteindre-texte" et ainsi nommer le résultat, mais la fonction
colonnes(nom) me signale une référence non valide.
Si quelqu'un a une idée, elle sera la bienvenue.

Merci d'avance

--
okolo




Avatar
okolo
Bonsoir et merci de te pencher sur ce problème,

Je vais tenter d'être plus clair:
Il s'agit notamment d'une application pour l'entraînement des chiens
pisteurs, qu'on entraîne en retrouvant des objets sur des aires de plus en
plus grandes.
J'ai un terrain, en principe rectangulaire, p ex. A1:K30
L'utilisateur inscrit dans différentes cellules les objets qu'il trouve sur
cette aire p ex. D8 F4 I18.
Les objets sont indiqués par une lettre quelconque, ils ne sont pas
nécessairement au même endroit d'une fois à l'autre et peuvent être en
quantité variable.
Je cherche à faire une moyenne des objets trouvés: aire du terrain - aire
des objets posés - aire des objets trouvés.
A l'aide de la fonction =colonnes(D4:I18), j'ai bien 6.
Mais si je fais edition>atteindre>texte, que je nomme la plage ainsi trouvée
'aire', puis que je demande =colonnes(aire), j'obtiens #ref!, apparemment
parce qu'il y a des cellules vides.

J'oubliais de préciser: je débute à (grand) peine avec VB

Merci

--
okolo
"Daniel" a écrit dans le message de news:

Bonsoir.
J'ai peut-être pas compris ta question, aussi, je peux répondre à côté.
Essaie :
Set Plage = ActiveSheet.UsedRange
Cordialement.
Daniel
"okolo" (virerpoint)> a écrit dans le message
de news:
Bonjour à tous, bonsoir aux autres,

je cherche à nommer (ou référencer) un champ variable, où les cellules
sont
remplies de manières tout à fait désorganisées, de manière à totaliser le
nombre de colonnes et de cellules qu'il y a depuis l'intersection gauche
et
supérieures des cellules non vides, jusqu'à l'intersection de la ligne
inférieure et la colonne la plus à droite.
J'ai bien essayé de faire une macro avec la fonction
"édition-atteindre-texte" et ainsi nommer le résultat, mais la fonction
colonnes(nom) me signale une référence non valide.
Si quelqu'un a une idée, elle sera la bienvenue.

Merci d'avance

--
okolo




Avatar
Daniel
Bonjour.
Essaie :

Sub test()
Dim c As Range, AireTotale As Range, CtrT As Integer
Dim CtrP As Integer
Set c = ActiveSheet.UsedRange.Find("L")
Set AireTotale = Range("A1", c)
MsgBox "Aire totale : " & AireTotale.Address
MsgBox "Aire utile : " & ActiveSheet.UsedRange.Address
For Each c In ActiveSheet.UsedRange
If c.Value Like "*T*" Then
CtrT = CtrT + 1
ElseIf c.Value Like "*P*" Then
CtrP = CtrP + 1
End If
Next c
MsgBox "Nombre d'objets posés : " & CtrP
MsgBox "Nombre d'objets trouvés : " & CtrT
End Sub

Cordialement.
Daniel
"okolo" (virerpoint)> a écrit dans le message
de news: %
Bonsoir et merci de te pencher sur ce problème,

Je vais tenter d'être plus clair:
Il s'agit notamment d'une application pour l'entraînement des chiens
pisteurs, qu'on entraîne en retrouvant des objets sur des aires de plus en
plus grandes.
J'ai un terrain, en principe rectangulaire, p ex. A1:K30
L'utilisateur inscrit dans différentes cellules les objets qu'il trouve
sur
cette aire p ex. D8 F4 I18.
Les objets sont indiqués par une lettre quelconque, ils ne sont pas
nécessairement au même endroit d'une fois à l'autre et peuvent être en
quantité variable.
Je cherche à faire une moyenne des objets trouvés: aire du terrain - aire
des objets posés - aire des objets trouvés.
A l'aide de la fonction =colonnes(D4:I18), j'ai bien 6.
Mais si je fais edition>atteindre>texte, que je nomme la plage ainsi
trouvée
'aire', puis que je demande =colonnes(aire), j'obtiens #ref!, apparemment
parce qu'il y a des cellules vides.

J'oubliais de préciser: je débute à (grand) peine avec VB

Merci

--
okolo
"Daniel" a écrit dans le message de news:

Bonsoir.
J'ai peut-être pas compris ta question, aussi, je peux répondre à côté.
Essaie :
Set Plage = ActiveSheet.UsedRange
Cordialement.
Daniel
"okolo" (virerpoint)> a écrit dans le message
de news:
Bonjour à tous, bonsoir aux autres,

je cherche à nommer (ou référencer) un champ variable, où les cellules
sont
remplies de manières tout à fait désorganisées, de manière à totaliser le
nombre de colonnes et de cellules qu'il y a depuis l'intersection gauche
et
supérieures des cellules non vides, jusqu'à l'intersection de la ligne
inférieure et la colonne la plus à droite.
J'ai bien essayé de faire une macro avec la fonction
"édition-atteindre-texte" et ainsi nommer le résultat, mais la fonction
colonnes(nom) me signale une référence non valide.
Si quelqu'un a une idée, elle sera la bienvenue.

Merci d'avance

--
okolo