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

Plage.Rows(2).Select qui ne marche pas

8 réponses
Avatar
JMC
Bonjour

J'ai un tableau qui se nomme zTab1

J'essaye (vainement) de créer une fonction qui me recherche le minimum dans
le tableau zTab1 à une ligne précise du tableau
Or la fonction plante qd j'essaye de sélectionner la deuxième ligne du
tableau cad à Plage.Rows(2).Select

J'appelle la fonction par =transporteur("zTab1") et je suis sur la feuille
qui contient le tableau.

Voici la fonction en entier (pour l'instant car j'aimerais ensuite passer en
paramètre la ligne à rechercher dans le tableau) :

Function transporteur(NomPlage As String) As Variant
Dim Mini As Single
Dim i As Integer, Pos As Integer
Dim Cell As Range
Dim Plage As Range

Set Plage = Range(NomPlage)
Plage.Rows(2).Select
i = 0
Mini = 0
For Each Cell In Selection
i = i + 1
If Cell < Mini Or i = 1 Then
Mini = Cell
Pos = i
End If
Next
transporteur = Pos
End Function

J'aimerais ensuite ajouter deux choses :
1. j'ai plusieurs tableaux ds la feuille qui se nomment zTab1, zTab2,
zTab3,..., zTabn
le truc serait de passer en paramètre zTab & le N° du Tableau.

2. Appeler cette fonction de n'importe quelle feuille.


Merci pour votre aide. Perso ça fait des heures que je cherche mais ...

Pirlouit

8 réponses

Avatar
isabelle
bonjour Pirlouit,

Function transporteur(NomPlage As Range) As Variant
Dim i As Integer, Pos As Integer, Mini As Integer
i = 0
Mini = 0
For Each c In Range(NomPlage.Rows(2).Address)
i = i + 1
If c < Mini Or i = 1 Then
Mini = c
Pos = i
End If
Next
transporteur = Pos
End Function

ps/ tu ne peut pas utiliser le mot cell comme variable puisqu'il est
déjà utilisé par excel.

isabelle

JMC a écrit :
Bonjour

J'ai un tableau qui se nomme zTab1

J'essaye (vainement) de créer une fonction qui me recherche le minimum dans
le tableau zTab1 à une ligne précise du tableau
Or la fonction plante qd j'essaye de sélectionner la deuxième ligne du
tableau cad à Plage.Rows(2).Select

J'appelle la fonction par =transporteur("zTab1") et je suis sur la feuille
qui contient le tableau.

Voici la fonction en entier (pour l'instant car j'aimerais ensuite passer en
paramètre la ligne à rechercher dans le tableau) :

Function transporteur(NomPlage As String) As Variant
Dim Mini As Single
Dim i As Integer, Pos As Integer
Dim Cell As Range
Dim Plage As Range

Set Plage = Range(NomPlage)
Plage.Rows(2).Select
i = 0
Mini = 0
For Each Cell In Selection
i = i + 1
If Cell < Mini Or i = 1 Then
Mini = Cell
Pos = i
End If
Next
transporteur = Pos
End Function

J'aimerais ensuite ajouter deux choses :
1. j'ai plusieurs tableaux ds la feuille qui se nomment zTab1, zTab2,
zTab3,..., zTabn
le truc serait de passer en paramètre zTab & le N° du Tableau.

2. Appeler cette fonction de n'importe quelle feuille.


Merci pour votre aide. Perso ça fait des heures que je cherche mais ...

Pirlouit





Avatar
Daniel.C
Bonjour.
Si j'ai bien compris :

Function transporteur(NumPlage As Integer, Ligne As Long) As Variant
Dim Mini As Single
Dim i As Integer, Pos As Integer
Dim Cell As Range
Dim Plage As Range


Set Plage = Range("ztab" & NumPlage).Rows(Ligne)
i = 0
Mini = 0
Var = Plage.Cells.Count
For Each Cell In Plage.Cells
i = i + 1
If Cell < Mini Or i = 1 Then
Mini = Cell
Pos = i
End If
Next
transporteur = Pos
End Function

Cordialement.
Daniel

Bonjour

J'ai un tableau qui se nomme zTab1

J'essaye (vainement) de créer une fonction qui me recherche le minimum dans
le tableau zTab1 à une ligne précise du tableau
Or la fonction plante qd j'essaye de sélectionner la deuxième ligne du
tableau cad à Plage.Rows(2).Select

J'appelle la fonction par =transporteur("zTab1") et je suis sur la feuille
qui contient le tableau.

Voici la fonction en entier (pour l'instant car j'aimerais ensuite passer en
paramètre la ligne à rechercher dans le tableau) :

Function transporteur(NomPlage As String) As Variant
Dim Mini As Single
Dim i As Integer, Pos As Integer
Dim Cell As Range
Dim Plage As Range

Set Plage = Range(NomPlage)
Plage.Rows(2).Select
i = 0
Mini = 0
For Each Cell In Selection
i = i + 1
If Cell < Mini Or i = 1 Then
Mini = Cell
Pos = i
End If
Next
transporteur = Pos
End Function

J'aimerais ensuite ajouter deux choses :
1. j'ai plusieurs tableaux ds la feuille qui se nomment zTab1, zTab2,
zTab3,..., zTabn
le truc serait de passer en paramètre zTab & le N° du Tableau.

2. Appeler cette fonction de n'importe quelle feuille.


Merci pour votre aide. Perso ça fait des heures que je cherche mais ...

Pirlouit


Avatar
Daniel.C
Parti trop vite; les paramètres de la fonction sont :
NumPlage qui représente le n° de "ztab" et Ligne qui représente la
ligne à traiter.
Daniel

Bonjour.
Si j'ai bien compris :

Function transporteur(NumPlage As Integer, Ligne As Long) As Variant
Dim Mini As Single
Dim i As Integer, Pos As Integer
Dim Cell As Range
Dim Plage As Range


Set Plage = Range("ztab" & NumPlage).Rows(Ligne)
i = 0
Mini = 0
Var = Plage.Cells.Count
For Each Cell In Plage.Cells
i = i + 1
If Cell < Mini Or i = 1 Then
Mini = Cell
Pos = i
End If
Next
transporteur = Pos
End Function

Cordialement.
Daniel

Bonjour

J'ai un tableau qui se nomme zTab1

J'essaye (vainement) de créer une fonction qui me recherche le minimum dans
le tableau zTab1 à une ligne précise du tableau
Or la fonction plante qd j'essaye de sélectionner la deuxième ligne du
tableau cad à Plage.Rows(2).Select

J'appelle la fonction par =transporteur("zTab1") et je suis sur la feuille
qui contient le tableau.

Voici la fonction en entier (pour l'instant car j'aimerais ensuite passer
en paramètre la ligne à rechercher dans le tableau) :

Function transporteur(NomPlage As String) As Variant
Dim Mini As Single
Dim i As Integer, Pos As Integer
Dim Cell As Range
Dim Plage As Range

Set Plage = Range(NomPlage)
Plage.Rows(2).Select
i = 0
Mini = 0
For Each Cell In Selection
i = i + 1
If Cell < Mini Or i = 1 Then
Mini = Cell
Pos = i
End If
Next
transporteur = Pos
End Function

J'aimerais ensuite ajouter deux choses :
1. j'ai plusieurs tableaux ds la feuille qui se nomment zTab1, zTab2,
zTab3,..., zTabn
le truc serait de passer en paramètre zTab & le N° du Tableau.

2. Appeler cette fonction de n'importe quelle feuille.


Merci pour votre aide. Perso ça fait des heures que je cherche mais ...

Pirlouit




Avatar
LSteph
Bonjour,

Select est à éviter , c'est une instruction inutile!
Exemple
[maplage].select
Selection.copy
remplace ca par
[maplage].copy

et plus précisément dans ce genre de cas:

'...
Dim c as range
For each c in Range(NomPlage).cells

'...

'lSteph


On 19 nov, 13:42, "JMC" wrote:
Bonjour

J'ai un tableau qui se nomme zTab1

J'essaye (vainement) de créer une fonction qui me recherche le minimum dans
le tableau zTab1 à une ligne précise du tableau
Or la fonction plante qd j'essaye de sélectionner la deuxième ligne d u
tableau cad à Plage.Rows(2).Select

J'appelle la fonction par  =transporteur("zTab1") et je suis sur la f euille
qui contient le tableau.

Voici la fonction en entier (pour l'instant car j'aimerais ensuite passer en
paramètre la ligne à rechercher dans le tableau) :

Function transporteur(NomPlage As String) As Variant
Dim Mini As Single
Dim i As Integer, Pos As Integer
Dim Cell As Range
Dim Plage As Range

Set Plage = Range(NomPlage)
Plage.Rows(2).Select
i = 0
Mini = 0
For Each Cell In Selection
        i = i + 1
    If Cell < Mini Or i = 1 Then
        Mini = Cell
        Pos = i
    End If
Next
transporteur = Pos
End Function

J'aimerais ensuite ajouter deux choses :
1. j'ai plusieurs tableaux ds la feuille qui se nomment zTab1, zTab2,
zTab3,..., zTabn
le truc serait de passer en paramètre zTab & le N° du Tableau.

2. Appeler cette fonction de n'importe quelle feuille.

Merci pour votre aide. Perso ça fait des heures que je cherche mais ...

Pirlouit


Avatar
JMC
Bravo Isabelle. Ca fonctionne !
Merci
Pirlouit
"isabelle" a écrit dans le message de news:

bonjour Pirlouit,

Function transporteur(NomPlage As Range) As Variant
Dim i As Integer, Pos As Integer, Mini As Integer
i = 0
Mini = 0
For Each c In Range(NomPlage.Rows(2).Address)
i = i + 1
If c < Mini Or i = 1 Then
Mini = c
Pos = i
End If
Next
transporteur = Pos
End Function

ps/ tu ne peut pas utiliser le mot cell comme variable puisqu'il est déjà
utilisé par excel.

isabelle

JMC a écrit :
Bonjour

J'ai un tableau qui se nomme zTab1

J'essaye (vainement) de créer une fonction qui me recherche le minimum
dans le tableau zTab1 à une ligne précise du tableau
Or la fonction plante qd j'essaye de sélectionner la deuxième ligne du
tableau cad à Plage.Rows(2).Select

J'appelle la fonction par =transporteur("zTab1") et je suis sur la
feuille qui contient le tableau.

Voici la fonction en entier (pour l'instant car j'aimerais ensuite passer
en paramètre la ligne à rechercher dans le tableau) :

Function transporteur(NomPlage As String) As Variant
Dim Mini As Single
Dim i As Integer, Pos As Integer
Dim Cell As Range
Dim Plage As Range

Set Plage = Range(NomPlage)
Plage.Rows(2).Select
i = 0
Mini = 0
For Each Cell In Selection
i = i + 1
If Cell < Mini Or i = 1 Then
Mini = Cell
Pos = i
End If
Next
transporteur = Pos
End Function

J'aimerais ensuite ajouter deux choses :
1. j'ai plusieurs tableaux ds la feuille qui se nomment zTab1, zTab2,
zTab3,..., zTabn
le truc serait de passer en paramètre zTab & le N° du Tableau.

2. Appeler cette fonction de n'importe quelle feuille.


Merci pour votre aide. Perso ça fait des heures que je cherche mais ...

Pirlouit






Avatar
JMC
Super !
Ca marche aussi avec les deux paramètres !
Merci
Pirlouit

"Daniel.C" a écrit dans le message de news:

Bonjour.
Si j'ai bien compris :

Function transporteur(NumPlage As Integer, Ligne As Long) As Variant
Dim Mini As Single
Dim i As Integer, Pos As Integer
Dim Cell As Range
Dim Plage As Range


Set Plage = Range("ztab" & NumPlage).Rows(Ligne)
i = 0
Mini = 0
Var = Plage.Cells.Count
For Each Cell In Plage.Cells
i = i + 1
If Cell < Mini Or i = 1 Then
Mini = Cell
Pos = i
End If
Next
transporteur = Pos
End Function

Cordialement.
Daniel

Bonjour

J'ai un tableau qui se nomme zTab1

J'essaye (vainement) de créer une fonction qui me recherche le minimum
dans le tableau zTab1 à une ligne précise du tableau
Or la fonction plante qd j'essaye de sélectionner la deuxième ligne du
tableau cad à Plage.Rows(2).Select

J'appelle la fonction par =transporteur("zTab1") et je suis sur la
feuille qui contient le tableau.

Voici la fonction en entier (pour l'instant car j'aimerais ensuite passer
en paramètre la ligne à rechercher dans le tableau) :

Function transporteur(NomPlage As String) As Variant
Dim Mini As Single
Dim i As Integer, Pos As Integer
Dim Cell As Range
Dim Plage As Range

Set Plage = Range(NomPlage)
Plage.Rows(2).Select
i = 0
Mini = 0
For Each Cell In Selection
i = i + 1
If Cell < Mini Or i = 1 Then
Mini = Cell
Pos = i
End If
Next
transporteur = Pos
End Function

J'aimerais ensuite ajouter deux choses :
1. j'ai plusieurs tableaux ds la feuille qui se nomment zTab1, zTab2,
zTab3,..., zTabn
le truc serait de passer en paramètre zTab & le N° du Tableau.

2. Appeler cette fonction de n'importe quelle feuille.


Merci pour votre aide. Perso ça fait des heures que je cherche mais ...

Pirlouit






Avatar
FS
> ps/ tu ne peut pas utiliser le mot cell comme variable puisqu'il est


> déjà utilisé par excel.

Ttttt, tu vas aller faire un tour en cellule, (ex-)geolière !
cell n'est utilisé par Excel que comme nom d'une barre d'outils (clic droit dans
une feuille de calcul), ce qui ne suffit pas à l'interdire comme nom de variable
parfaitement valide..
C'est Cells qui est un mot clé du langage et non cell (ou Cell).
Comme tu as l'oreille du Monsignore de ces lieux, ton pardon est cependant
acquis d'avance :)

FS
--
Frédéric SIGONNEAU
Modules et modèles pour Excel :
http://frederic.sigonneau.free.fr/

isabelle a écrit :
bonjour Pirlouit,

Function transporteur(NomPlage As Range) As Variant
Dim i As Integer, Pos As Integer, Mini As Integer
i = 0
Mini = 0
For Each c In Range(NomPlage.Rows(2).Address)
i = i + 1
If c < Mini Or i = 1 Then
Mini = c
Pos = i
End If
Next
transporteur = Pos
End Function

ps/ tu ne peut pas utiliser le mot cell comme variable puisqu'il est
déjà utilisé par excel.

isabelle

JMC a écrit :
Bonjour

J'ai un tableau qui se nomme zTab1

J'essaye (vainement) de créer une fonction qui me recherche le minimum
dans le tableau zTab1 à une ligne précise du tableau
Or la fonction plante qd j'essaye de sélectionner la deuxième ligne du
tableau cad à Plage.Rows(2).Select

J'appelle la fonction par =transporteur("zTab1") et je suis sur la
feuille qui contient le tableau.

Voici la fonction en entier (pour l'instant car j'aimerais ensuite
passer en paramètre la ligne à rechercher dans le tableau) :

Function transporteur(NomPlage As String) As Variant
Dim Mini As Single
Dim i As Integer, Pos As Integer
Dim Cell As Range
Dim Plage As Range

Set Plage = Range(NomPlage)
Plage.Rows(2).Select
i = 0
Mini = 0
For Each Cell In Selection
i = i + 1
If Cell < Mini Or i = 1 Then
Mini = Cell
Pos = i
End If
Next
transporteur = Pos
End Function

J'aimerais ensuite ajouter deux choses :
1. j'ai plusieurs tableaux ds la feuille qui se nomment zTab1, zTab2,
zTab3,..., zTabn
le truc serait de passer en paramètre zTab & le N° du Tableau.

2. Appeler cette fonction de n'importe quelle feuille.


Merci pour votre aide. Perso ça fait des heures que je cherche mais ...

Pirlouit






Avatar
isabelle
FS a écrit :
Comme tu as l'oreille du Monsignore de ces lieux, ton pardon est
cependant acquis d'avance :)



j'espère bien ;-) de toute façon c'é moé qu'a la clé :-)-
isabelle