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

un blocage inexpliqué

3 réponses
Avatar
Frédo P
Bonsoir toutes et ts
J'aimerais bien savoir pourquoi cette petite routine s'arrète à un moment
bien
précis.
Sur la plage K2:L235 colonne L: il n'y a que des lettres uniques par
cellules, elles sont celles ci :a,d,e,f,h,i,r,s,t.(un exemple tout en bas)
Des plages à gauche de K2:L235 ont été nommées de ces mêmes lettres et la
routine ci dessous bug à "r" quelque soit la longueur de la liste.
Public Sub tri()
Dim der&, col As Byte, fr$, c As Object
Sheets("Feuil1").[A2:J200].ClearContents
For Each c In Sheets("Feuil1").Range("L2:L235")
der = Sheets("feuil1").Range(c).SpecialCells(xlCellTypeBlanks).Row
Range(c)(der) = c.Offset(0, -1)
Next c
End Sub
J'ai contourné le pb avec ceci: il y a, j'en doute pas, sûrement mieux.
Public Sub tri()
Dim der&, col As Byte, fr$, c As Object
Sheets("Feuil1").[A2:J200].ClearContents
For Each c In Sheets("Feuil1").Range("L2:L235")
fr = LCase(c)
col = Switch(fr = "a", 4, fr = "d", 8, fr = "f", 2, fr = "h", 1, fr =
"e", 3, fr = "r", 5, fr = "i", 6, fr = "s", 7, fr = "t", 9)
Der = Sheets("Feuil1").Range((Cells(65536, col).Address)).End(xlUp).Row
Sheets("Feuil1").Cells(Der + 1, col) = c.Offset(0, -1)
Next c
end sub
La liste en col.K et plus bas la liste en col.L correspondant au produits.
AMMO 27%
AMMO 34%
SOL 30%
SOL SOUFREE 21%
AGRAL
Anti-Mousse
ELTON
FILM LABEL 348 M2
SULF DE MGO 26%
SULF. DE POTASSE
SUPER TRIPLE
Vinasse
Acanto
ACYLON TC
ALTO BS PEPITE
Amistar
STARANE
STEMAT 200
TARGA D+
VENZAR
ZEPPLIN
AZTEC
CARBOFURAN
CURATER
DECIS CE
ENDURO
CYCOCEL C3
ETEPHON
ETHEVERSE
MODDUS
a
A
A
A
D
D
D
D
E
E
E
E
F
F
F
F
H
H
H
H
H
I
I
I
I
I
R
R
R
R

3 réponses

Avatar
JpPradier
Bonsoir Frédo

Ta version d'excel ne serait pas une version anglaise ?

j-p
Avatar
Frédo P
Non non bien french de chez nous
Je subodore une confusion en excel interne, avec les dénomination de
colonnes ,l'erreur vient peut être ,je dirais même sûrement, du fait qu'une
seule lettre est employée pour nommer une plage ce qui, pour moi, était bien
pratique, j'aurrais du, l'idée m'est venu cette nuit, employer des chiffres,
comme la plage sur laquelle j'utilise cette routine n'est pas directement
créer par l'opérateur mais par vba à partir d'une autre feuille de saisie.

"JpPradier" a écrit dans le message
de news: #
Bonsoir Frédo

Ta version d'excel ne serait pas une version anglaise ?

j-p



Avatar
JpPradier
Bonjour Frédo

C'est ce que j'allais te dire : R pour row. Je crois que tu aurais eu le meme probleme avec le c
pour column et peut-etre le L pour ligne.

j-p