Explication Icolt

Bonjour,

malgré des recherches sur internet je ne trouve pas la définition de icolt

iColT = [D2].End(xlToRight).Column + 1

Merci pour votre aide

Manu

Bonjour,

iColT est ici le nom d'une variable du programme. Elle aurait aussi pu s'appeler azerty ou avoir n'importe quel autre nom ...

Elle est égale un chiffre ou un nombre, qui correspond à la dernière colonne utilisée, à partir de la colonne D, +1.

D'accord merci

J'ai un peu de mal avec le +1.

C'est une valeur ?

+1 sert à rajouter 1 à ce nombre ....

Ca doit être pour savoir en quelle colonne écrire quelque chose ensuite.
Sans le reste du code, c'est impossible de répondre !

le voici

Private Sub Worksheet_Change(ByVal Target As Range)
'
Dim iRow%, iCol%, iColT%
'
On Error Resume Next
Application.EnableEvents = False
'
If Not Intersect(Target, Range("D3:AO22")) Is Nothing Then
    iRow = Target.Row
    iColT = [D2].End(xlToRight).Column + 1
    iCol = Range("D" & iRow & ":AP" & iRow).Find(what:="N", lookat:=xlWhole, LookIn:=xlValues, searchdirection:=xlPrevious).Column + 1
    iCol = IIf(iCol = 0, 4, iCol)
    Range("C" & iRow).Value = WorksheetFunction.CountA(Range(fctCol(iCol) & iRow).Resize(1, iColT - iCol))
    Range("B" & iRow).Value = WorksheetFunction.Max(Range("B" & iRow).Value, Range("C" & iRow).Value)
    If Range("C" & iRow).Value = 0 Then Range("C" & iRow).Value = ""
End If
'
Application.EnableEvents = True
'
End Sub

Si je comprends :

If Not Intersect(Target, Range("D3:AO22")) Is Nothing Then : je cherche entre D3 et AO22
iColT = [D2].End(xlToRight).Column + 1 : a partir de la cellule D2

iCol = Range("D" & iRow & ":AP" & iRow).Find(what:="N", lookat:=xlWhole, LookIn:=xlValues, searchdirection:=xlPrevious).Column + 1 : je cherche entre la colonne D et la colonne AP tout les "N"

iCol = IIf(iCol = 0, 4, iCol) : ??

Range("C" & iRow).Value = WorksheetFunction.CountA(Range(fctCol(iCol) & iRow).Resize(1, iColT - iCol)) : Dans la colonne C j'inscris le nombre de colonne sans N

Range("B" & iRow).Value = WorksheetFunction.Max(Range("B" & iRow).Value, Range("C" & iRow).Value) : Dans la colonne B j'inscris le nb max de colonnes sans N

If Range("C" & iRow).Value = 0 Then Range("C" & iRow).Value = "" : ??

Je dirais que tu ne cherches pas tous les N, mais le 1er qu'il trouve.

iCol = IIf(iCol = 0, 4, iCol) Si on ne trouve pas de N, alors on attribue la valeur 4 à icol, sinon on lui attribue la ligne à laquelle il trouve la valeur
If Range("C" & iRow).Value = 0 Then Range("C" & iRow).Value = "" s'il n'y a aucune valeur, alors on laisse vide

Je pense avoir compris

J'ai besoin d'ajouter une colonne donc je vais essayer

Bonsoir,

j'ai rajouté une colonne en D qui s'intitule record.

J'ai un pb sur la colonne B (Record saison) elle compte à partir de la colonne D et non à partir de la colonne E.

Et je ne trouve pas le pb

merci d'avance

14japon-2021.xlsm (63.06 Ko)

bonjour,

je relance ce post.

J'ai tenté de modifier les cellules mais rien ne change.

Merci d'avance pour votre aide

Bonjour toutes et tous

coucou Joyeuxnoel ^^


@Manou

Ah tout hasard

Sub NButs()

For ligne = 2 To Cells(Rows.Count, 1).End(xlUp).Row
    If Cells(ligne, "K").Value = "" Then

        ajouter "V.N.D MT", Cells(ligne, "B").Value, Left(Cells(ligne, "H").Value, 1)
        ajouter "V.N.D MT", Cells(ligne, "E").Value, Left(Cells(ligne, "I").Value, 1) ' ancien D

        ajouter "peno", Cells(ligne, "B").Value, Cells(ligne, "J").Value
        ajouter "peno", Cells(ligne, "E").Value, Cells(ligne, "J").Value           ' ancien D

        Cells(ligne, "K").Value = "OUI"
    End If
Next

End Sub

crdlt,

André

Bonsoir André,

Merci de ta réponse, mais ce n'est pas sur ce code là que je rencontre un pb. C'est sur celui en feuil5(VND MT) avec le code expliqué ci dessus

Rechercher des sujets similaires à "explication icolt"