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

VBA renommer une fraction de colonne

6 réponses
Avatar
M41
Bonjour

MaColonne est une portion de colonne : par exemple C2:C394
i1= MaColonne.cells(1,1).Row
me donne 2
i2=MaColonne.EntireColumn.Cells(Rows.Count,1).End(xlUp).Row
me donne le point le plus base utilisé dans la colonne entière

Comment calculer par une formule 394 pour ajuster ma portion de
colonne dans le cas où i2<394
et obtenir
C2;C[valeur de i2 ]

Cordialement

M41

PS : merci pour les réponses antérieures sur d'autres problèmes

6 réponses

Avatar
M41
Re
J'ai trouvé une solution : en existe t il une plus concise ? Merci M41

i1 = MaColonne.Cells(1, 1).Row: If i1 < MonDébut Then Exit Function
With MaColonne
i2 = .EntireColumn.Cells(Rows.Count, 1).End(xlUp).Row
If i2 < MonDébut Then Exit Function
i3 = (.Rows.Count) + i1 - 1
If i2< i3 Then i2 = i3
Set MaColonne = Range(.Cells(1, 1), .EntireColumn.Cells(i2, 1))
End With




"M41" a écrit dans le message de news:
45cdfbfa$0$25928$
Bonjour

MaColonne est une portion de colonne : par exemple C2:C394
i1= MaColonne.cells(1,1).Row
me donne 2
i2=MaColonne.EntireColumn.Cells(Rows.Count,1).End(xlUp).Row
me donne le point le plus base utilisé dans la colonne entière

Comment calculer par une formule 394 pour ajuster ma portion de
colonne dans le cas où i2<394
et obtenir
C2;C[valeur de i2 ]

Cordialement

M41

PS : merci pour les réponses antérieures sur d'autres problèmes






Avatar
M41
Il y a une erreur

i1 = MaColonne.Cells(1, 1).Row: If i1 < MonDébut Then Exit Function
With MaColonne
i2 = .EntireColumn.Cells(Rows.Count, 1).End(xlUp).Row
If i2 < MonDébut Then Exit Function
i3 = (.Rows.Count) + i1 - 1
If i2< i3 Then i3 = i2
Set MaColonne = Range(.Cells(1, 1), .EntireColumn.Cells(i3, 1))
End With

.../...


"M41" a écrit dans le message de news:
45ce0b08$0$25911$
Re
J'ai trouvé une solution : en existe t il une plus concise ? Merci M41

i1 = MaColonne.Cells(1, 1).Row: If i1 < MonDébut Then Exit Function
With MaColonne
i2 = .EntireColumn.Cells(Rows.Count, 1).End(xlUp).Row
If i2 < MonDébut Then Exit Function
i3 = (.Rows.Count) + i1 - 1
If i2< i3 Then i2 = i3
Set MaColonne = Range(.Cells(1, 1), .EntireColumn.Cells(i2, 1))
End With




"M41" a écrit dans le message de news:
45cdfbfa$0$25928$
Bonjour

MaColonne est une portion de colonne : par exemple C2:C394
i1= MaColonne.cells(1,1).Row
me donne 2
i2=MaColonne.EntireColumn.Cells(Rows.Count,1).End(xlUp).Row
me donne le point le plus base utilisé dans la colonne entière

Comment calculer par une formule 394 pour ajuster ma portion de
colonne dans le cas où i2<394
et obtenir
C2;C[valeur de i2 ]

Cordialement

M41

PS : merci pour les réponses antérieures sur d'autres problèmes










Avatar
Daniel
Bonsoir.
i2 = Max(MaColonne.EntireColumn.Cells(Rows.Count, 1).End(xlUp).Row, 394)
Cordialement.
Daniel
"M41" a écrit dans le message de news:
45cdfbfa$0$25928$
Bonjour

MaColonne est une portion de colonne : par exemple C2:C394
i1= MaColonne.cells(1,1).Row
me donne 2
i2=MaColonne.EntireColumn.Cells(Rows.Count,1).End(xlUp).Row
me donne le point le plus base utilisé dans la colonne entière

Comment calculer par une formule 394 pour ajuster ma portion de
colonne dans le cas où i2<394
et obtenir
C2;C[valeur de i2 ]

Cordialement

M41

PS : merci pour les réponses antérieures sur d'autres problèmes






Avatar
Daniel
Oups, à oublier.
Daniel
"Daniel" a écrit dans le message de news:
ugyhB$
Bonsoir.
i2 = Max(MaColonne.EntireColumn.Cells(Rows.Count, 1).End(xlUp).Row, 394)
Cordialement.
Daniel
"M41" a écrit dans le message de news:
45cdfbfa$0$25928$
Bonjour

MaColonne est une portion de colonne : par exemple C2:C394
i1= MaColonne.cells(1,1).Row
me donne 2
i2=MaColonne.EntireColumn.Cells(Rows.Count,1).End(xlUp).Row
me donne le point le plus base utilisé dans la colonne entière

Comment calculer par une formule 394 pour ajuster ma portion de
colonne dans le cas où i2<394
et obtenir
C2;C[valeur de i2 ]

Cordialement

M41

PS : merci pour les réponses antérieures sur d'autres problèmes










Avatar
M41
Merci

mais cela ne prend pas en compte comme ma méthode un peu trop longue le fait
que :
MaColonne ne débute pas toujours à 2 et ne se termine pas toujours à 394
Car MaColonne est totalement variable et le programme ne doit pas aussi
boguer quand i1=i2 (colonne réduite à une seule cellule)
Cordialement

M41





"Daniel" a écrit dans le message de news:
ugyhB$
Bonsoir.
i2 = Max(MaColonne.EntireColumn.Cells(Rows.Count, 1).End(xlUp).Row, 394)
Cordialement.
Daniel
"M41" a écrit dans le message de news:
45cdfbfa$0$25928$
Bonjour

MaColonne est une portion de colonne : par exemple C2:C394
i1= MaColonne.cells(1,1).Row
me donne 2
i2=MaColonne.EntireColumn.Cells(Rows.Count,1).End(xlUp).Row
me donne le point le plus base utilisé dans la colonne entière

Comment calculer par une formule 394 pour ajuster ma portion de
colonne dans le cas où i2<394
et obtenir
C2;C[valeur de i2 ]

Cordialement

M41

PS : merci pour les réponses antérieures sur d'autres problèmes










Avatar
AV
Comment calculer par une formule 394 pour ajuster ma portion de
colonne dans le cas où i2<394
et obtenir
C2;C[valeur de i2 ]


La plage C2:C394 étant nommée "maColonne"
Par formule :
Dernière ligne renseignée (matricielle) :
=MAX(SI(maColonne<>"";LIGNE(maColonne);""))

PS en vba :
i1 = [maColonne].Item(1).Row
i2 = [maColonne].Find("*", , xlFormulas, , xlByRows, xlPrevious).Row

AV