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

Le
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
Questions / Réponses high-tech
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
isabelle
Le #20586561
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





Daniel.C
Le #20586551
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


Daniel.C
Le #20586541
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




LSteph
Le #20586871
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"
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


JMC
Le #20587501
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






JMC
Le #20587491
Super !
Ca marche aussi avec les deux paramètres !
Merci
Pirlouit

"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






FS
Le #20590201
> 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






isabelle
Le #20590881
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
Publicité
Poster une réponse
Anonyme