Bonjour (re)
voici ce que j'ai :
Sub donnees_de_champ_unique()
Dim Tabentree
' on se positionne quelque part
range("A20").select
ActiveCell.Offset(1, 0).Select ' (on descend d'une cellule pour pas
avoir le titre de la colonne)
'on remplit la "collection Tabentree par toutes les valeurs de cette
colonne
Tabentree = Range(ActiveCell(), Cells(65536,
ActiveCell.Column).End(xlUp)).Value
Ok, mon soucis est que, dans cette colonne, j'ai des trous...
Je n'arrive pas à formaliser une boucle qui, lorsqu'elle rencontre un
"trou" (une valeur de tabentrée vide
pour un indice donné) le comble avec la valeur de l'indice précedent.
J'imagine un truc comme çà :
For II = LBound(Tabentree, 1) To UBound(Tabentree, 1) ' on boucle du
premier element au dernier élément
On Error Resume Next
Si la valeur de tabentree pour l'indice II est vide
copier "la valeur de tabentree à l'indice II -1" dans
"tabentree de l'indice II"
finSI
Next
Voilà, je n'arrive pas à lécrire, pouvez vous m'aider svp ?
Merci
José
Bonjour (re)
voici ce que j'ai :
Sub donnees_de_champ_unique()
Dim Tabentree
' on se positionne quelque part
range("A20").select
ActiveCell.Offset(1, 0).Select ' (on descend d'une cellule pour pas
avoir le titre de la colonne)
'on remplit la "collection Tabentree par toutes les valeurs de cette
colonne
Tabentree = Range(ActiveCell(), Cells(65536,
ActiveCell.Column).End(xlUp)).Value
Ok, mon soucis est que, dans cette colonne, j'ai des trous...
Je n'arrive pas à formaliser une boucle qui, lorsqu'elle rencontre un
"trou" (une valeur de tabentrée vide
pour un indice donné) le comble avec la valeur de l'indice précedent.
J'imagine un truc comme çà :
For II = LBound(Tabentree, 1) To UBound(Tabentree, 1) ' on boucle du
premier element au dernier élément
On Error Resume Next
Si la valeur de tabentree pour l'indice II est vide
copier "la valeur de tabentree à l'indice II -1" dans
"tabentree de l'indice II"
finSI
Next
Voilà, je n'arrive pas à lécrire, pouvez vous m'aider svp ?
Merci
José
Bonjour (re)
voici ce que j'ai :
Sub donnees_de_champ_unique()
Dim Tabentree
' on se positionne quelque part
range("A20").select
ActiveCell.Offset(1, 0).Select ' (on descend d'une cellule pour pas
avoir le titre de la colonne)
'on remplit la "collection Tabentree par toutes les valeurs de cette
colonne
Tabentree = Range(ActiveCell(), Cells(65536,
ActiveCell.Column).End(xlUp)).Value
Ok, mon soucis est que, dans cette colonne, j'ai des trous...
Je n'arrive pas à formaliser une boucle qui, lorsqu'elle rencontre un
"trou" (une valeur de tabentrée vide
pour un indice donné) le comble avec la valeur de l'indice précedent.
J'imagine un truc comme çà :
For II = LBound(Tabentree, 1) To UBound(Tabentree, 1) ' on boucle du
premier element au dernier élément
On Error Resume Next
Si la valeur de tabentree pour l'indice II est vide
copier "la valeur de tabentree à l'indice II -1" dans
"tabentree de l'indice II"
finSI
Next
Voilà, je n'arrive pas à lécrire, pouvez vous m'aider svp ?
Merci
José
Salut,
Une solution :
Sub testde()
Tabentree = Range(ActiveCell(), Cells(65536,
ActiveCell.Column).End(xlUp)).Value
For II = LBound(Tabentree, 1) To UBound(Tabentree, 1)
If Tabentree(II, 1) <> "" Then valeur = Tabentree(II, 1)
If Tabentree(II, 1) = "" Then Tabentree(II, 1) = valeur
Next
Range(Cells(3598, 5), Cells(3598 + UBound(Tabentree, 1) - 1, 5)) =
Tabentree
End SubBonjour (re)
voici ce que j'ai :
Sub donnees_de_champ_unique()
Dim Tabentree
' on se positionne quelque part
range("A20").select
ActiveCell.Offset(1, 0).Select ' (on descend d'une cellule pour pas
avoir le titre de la colonne)
'on remplit la "collection Tabentree par toutes les valeurs de cette
colonne
Tabentree = Range(ActiveCell(), Cells(65536,
ActiveCell.Column).End(xlUp)).Value
Ok, mon soucis est que, dans cette colonne, j'ai des trous...
Je n'arrive pas à formaliser une boucle qui, lorsqu'elle rencontre un
"trou" (une valeur de tabentrée vide
pour un indice donné) le comble avec la valeur de l'indice préceden t.
J'imagine un truc comme çà :
For II = LBound(Tabentree, 1) To UBound(Tabentree, 1) ' on boucle du
premier element au dernier élément
On Error Resume Next
Si la valeur de tabentree pour l'indice II est vide
copier "la valeur de tabentree à l'indice II -1" dans
"tabentree de l'indice II"
finSI
Next
Voilà, je n'arrive pas à lécrire, pouvez vous m'aider svp ?
Merci
José
Salut,
Une solution :
Sub testde()
Tabentree = Range(ActiveCell(), Cells(65536,
ActiveCell.Column).End(xlUp)).Value
For II = LBound(Tabentree, 1) To UBound(Tabentree, 1)
If Tabentree(II, 1) <> "" Then valeur = Tabentree(II, 1)
If Tabentree(II, 1) = "" Then Tabentree(II, 1) = valeur
Next
Range(Cells(3598, 5), Cells(3598 + UBound(Tabentree, 1) - 1, 5)) =
Tabentree
End Sub
Bonjour (re)
voici ce que j'ai :
Sub donnees_de_champ_unique()
Dim Tabentree
' on se positionne quelque part
range("A20").select
ActiveCell.Offset(1, 0).Select ' (on descend d'une cellule pour pas
avoir le titre de la colonne)
'on remplit la "collection Tabentree par toutes les valeurs de cette
colonne
Tabentree = Range(ActiveCell(), Cells(65536,
ActiveCell.Column).End(xlUp)).Value
Ok, mon soucis est que, dans cette colonne, j'ai des trous...
Je n'arrive pas à formaliser une boucle qui, lorsqu'elle rencontre un
"trou" (une valeur de tabentrée vide
pour un indice donné) le comble avec la valeur de l'indice préceden t.
J'imagine un truc comme çà :
For II = LBound(Tabentree, 1) To UBound(Tabentree, 1) ' on boucle du
premier element au dernier élément
On Error Resume Next
Si la valeur de tabentree pour l'indice II est vide
copier "la valeur de tabentree à l'indice II -1" dans
"tabentree de l'indice II"
finSI
Next
Voilà, je n'arrive pas à lécrire, pouvez vous m'aider svp ?
Merci
José
Salut,
Une solution :
Sub testde()
Tabentree = Range(ActiveCell(), Cells(65536,
ActiveCell.Column).End(xlUp)).Value
For II = LBound(Tabentree, 1) To UBound(Tabentree, 1)
If Tabentree(II, 1) <> "" Then valeur = Tabentree(II, 1)
If Tabentree(II, 1) = "" Then Tabentree(II, 1) = valeur
Next
Range(Cells(3598, 5), Cells(3598 + UBound(Tabentree, 1) - 1, 5)) =
Tabentree
End SubBonjour (re)
voici ce que j'ai :
Sub donnees_de_champ_unique()
Dim Tabentree
' on se positionne quelque part
range("A20").select
ActiveCell.Offset(1, 0).Select ' (on descend d'une cellule pour pas
avoir le titre de la colonne)
'on remplit la "collection Tabentree par toutes les valeurs de cette
colonne
Tabentree = Range(ActiveCell(), Cells(65536,
ActiveCell.Column).End(xlUp)).Value
Ok, mon soucis est que, dans cette colonne, j'ai des trous...
Je n'arrive pas à formaliser une boucle qui, lorsqu'elle rencontre un
"trou" (une valeur de tabentrée vide
pour un indice donné) le comble avec la valeur de l'indice préceden t.
J'imagine un truc comme çà :
For II = LBound(Tabentree, 1) To UBound(Tabentree, 1) ' on boucle du
premier element au dernier élément
On Error Resume Next
Si la valeur de tabentree pour l'indice II est vide
copier "la valeur de tabentree à l'indice II -1" dans
"tabentree de l'indice II"
finSI
Next
Voilà, je n'arrive pas à lécrire, pouvez vous m'aider svp ?
Merci
José
Bonjour FdeCourt,
excuse de ne pas avoir répondu avant.
Pourrais tu simplement m'expliquer la dernière ligne ?
et en particulier le Range ?
Range( Cells(3598, 5) , Cells( 3598 + UBound(Tabentree, 1) - 1 ,
5 ) )
normalement, la fonction cells à les parametre ligne et colonne (?)
cells(ligne, colonne)
si l'on écrivais : [A:A] = Tabentree est-ce ce ne serait pas pareil
?
Merci encore.
JoséSalut,
Une solution :
Sub testde()
Tabentree = Range(ActiveCell(), Cells(65536,
ActiveCell.Column).End(xlUp)).Value
For II = LBound(Tabentree, 1) To UBound(Tabentree, 1)
If Tabentree(II, 1) <> "" Then valeur = Tabentree(II, 1)
If Tabentree(II, 1) = "" Then Tabentree(II, 1) = valeur
Next
Range(Cells(3598, 5), Cells(3598 + UBound(Tabentree, 1) - 1, 5)) =
Tabentree
End SubBonjour (re)
voici ce que j'ai :
Sub donnees_de_champ_unique()
Dim Tabentree
' on se positionne quelque part
range("A20").select
ActiveCell.Offset(1, 0).Select ' (on descend d'une cellule pour pas
avoir le titre de la colonne)
'on remplit la "collection Tabentree par toutes les valeurs de cette
colonne
Tabentree = Range(ActiveCell(), Cells(65536,
ActiveCell.Column).End(xlUp)).Value
Ok, mon soucis est que, dans cette colonne, j'ai des trous...
Je n'arrive pas à formaliser une boucle qui, lorsqu'elle rencontre un
"trou" (une valeur de tabentrée vide
pour un indice donné) le comble avec la valeur de l'indice préced ent.
J'imagine un truc comme çà :
For II = LBound(Tabentree, 1) To UBound(Tabentree, 1) ' on boucle du
premier element au dernier élément
On Error Resume Next
Si la valeur de tabentree pour l'indice II est vide
copier "la valeur de tabentree à l'indice II -1" dans
"tabentree de l'indice II"
finSI
Next
Voilà, je n'arrive pas à lécrire, pouvez vous m'aider svp ?
Merci
José
Bonjour FdeCourt,
excuse de ne pas avoir répondu avant.
Pourrais tu simplement m'expliquer la dernière ligne ?
et en particulier le Range ?
Range( Cells(3598, 5) , Cells( 3598 + UBound(Tabentree, 1) - 1 ,
5 ) )
normalement, la fonction cells à les parametre ligne et colonne (?)
cells(ligne, colonne)
si l'on écrivais : [A:A] = Tabentree est-ce ce ne serait pas pareil
?
Merci encore.
José
Salut,
Une solution :
Sub testde()
Tabentree = Range(ActiveCell(), Cells(65536,
ActiveCell.Column).End(xlUp)).Value
For II = LBound(Tabentree, 1) To UBound(Tabentree, 1)
If Tabentree(II, 1) <> "" Then valeur = Tabentree(II, 1)
If Tabentree(II, 1) = "" Then Tabentree(II, 1) = valeur
Next
Range(Cells(3598, 5), Cells(3598 + UBound(Tabentree, 1) - 1, 5)) =
Tabentree
End Sub
Bonjour (re)
voici ce que j'ai :
Sub donnees_de_champ_unique()
Dim Tabentree
' on se positionne quelque part
range("A20").select
ActiveCell.Offset(1, 0).Select ' (on descend d'une cellule pour pas
avoir le titre de la colonne)
'on remplit la "collection Tabentree par toutes les valeurs de cette
colonne
Tabentree = Range(ActiveCell(), Cells(65536,
ActiveCell.Column).End(xlUp)).Value
Ok, mon soucis est que, dans cette colonne, j'ai des trous...
Je n'arrive pas à formaliser une boucle qui, lorsqu'elle rencontre un
"trou" (une valeur de tabentrée vide
pour un indice donné) le comble avec la valeur de l'indice préced ent.
J'imagine un truc comme çà :
For II = LBound(Tabentree, 1) To UBound(Tabentree, 1) ' on boucle du
premier element au dernier élément
On Error Resume Next
Si la valeur de tabentree pour l'indice II est vide
copier "la valeur de tabentree à l'indice II -1" dans
"tabentree de l'indice II"
finSI
Next
Voilà, je n'arrive pas à lécrire, pouvez vous m'aider svp ?
Merci
José
Bonjour FdeCourt,
excuse de ne pas avoir répondu avant.
Pourrais tu simplement m'expliquer la dernière ligne ?
et en particulier le Range ?
Range( Cells(3598, 5) , Cells( 3598 + UBound(Tabentree, 1) - 1 ,
5 ) )
normalement, la fonction cells à les parametre ligne et colonne (?)
cells(ligne, colonne)
si l'on écrivais : [A:A] = Tabentree est-ce ce ne serait pas pareil
?
Merci encore.
JoséSalut,
Une solution :
Sub testde()
Tabentree = Range(ActiveCell(), Cells(65536,
ActiveCell.Column).End(xlUp)).Value
For II = LBound(Tabentree, 1) To UBound(Tabentree, 1)
If Tabentree(II, 1) <> "" Then valeur = Tabentree(II, 1)
If Tabentree(II, 1) = "" Then Tabentree(II, 1) = valeur
Next
Range(Cells(3598, 5), Cells(3598 + UBound(Tabentree, 1) - 1, 5)) =
Tabentree
End SubBonjour (re)
voici ce que j'ai :
Sub donnees_de_champ_unique()
Dim Tabentree
' on se positionne quelque part
range("A20").select
ActiveCell.Offset(1, 0).Select ' (on descend d'une cellule pour pas
avoir le titre de la colonne)
'on remplit la "collection Tabentree par toutes les valeurs de cette
colonne
Tabentree = Range(ActiveCell(), Cells(65536,
ActiveCell.Column).End(xlUp)).Value
Ok, mon soucis est que, dans cette colonne, j'ai des trous...
Je n'arrive pas à formaliser une boucle qui, lorsqu'elle rencontre un
"trou" (une valeur de tabentrée vide
pour un indice donné) le comble avec la valeur de l'indice préced ent.
J'imagine un truc comme çà :
For II = LBound(Tabentree, 1) To UBound(Tabentree, 1) ' on boucle du
premier element au dernier élément
On Error Resume Next
Si la valeur de tabentree pour l'indice II est vide
copier "la valeur de tabentree à l'indice II -1" dans
"tabentree de l'indice II"
finSI
Next
Voilà, je n'arrive pas à lécrire, pouvez vous m'aider svp ?
Merci
José
Excuse moi, mais cette dernière ligne me permettait juste de vérifier
que j'enregistrais correctement les valeurs dans la matrice.
Tu n'as pas besoin de cette ligne, a moins que tu ne veuilles coller
les informations de ta matrice dans ta feuille (donc à la palce des
anciennes valeurs).
Dans ce cas, un truc dans ce genre (à optimiser) à ma place de la
dernière ligne :
Range(Cells(ActiveCell().Row, ActiveCell().Column + 1), _
Cells(ActiveCell().Row + UBound(Tabentree, 1) - 1,
ActiveCell().Column)) = Tabentree
Qui peut se traduire par :
Range(cells(row1, col1), cells(row2, col2)) = tabentree
avec row1 = Cells(ActiveCell().Row
col1 = ActiveCell().Column + 1
row2 = ActiveCell().Row + UBound(Tabentree, 1) - 1
col2 = ActiveCell().Column
Perso j'utilise une fonction de ce type parcequ'à partir de données
en vrac, je fait un tableau croisée dynamique, et à partir de ce
tableau croisé dynamique, aprèsqu'il ait été modifié par des
utilisateurs, je refais un autre tableau croisé dynamique qui me
permet d'avoir des données complètes et propre.
Pour ca, je n'utilise pas une matrice, mais je remplis automatiquement
les champs vide par la dernière valeur (et je le cache avec le format
";;;") :
Dim I, RowMax As Double
RowMax = Cells(65536, 1).End(xlUp).Row
Col = Selection.Column
With ActiveSheet
For I = 2 To RowMax
If .Cells(I, Col).Value <> "" Then valeur = .Cells(I, Col).Value
If .Cells(I, Col).Value = "" Then .Cells(I, Col).Value = valeur:
.Cells(I, Col).NumberFormat = ";;;"
Next
End WithBonjour FdeCourt,
excuse de ne pas avoir répondu avant.
Pourrais tu simplement m'expliquer la dernière ligne ?
et en particulier le Range ?
Range( Cells(3598, 5) , Cells( 3598 + UBound(Tabentree, 1) - 1 ,
5 ) )
normalement, la fonction cells à les parametre ligne et colonne (?)
cells(ligne, colonne)
si l'on écrivais : [A:A] = Tabentree est-ce ce ne serait pas par eil
?
Merci encore.
JoséSalut,
Une solution :
Sub testde()
Tabentree = Range(ActiveCell(), Cells(65536,
ActiveCell.Column).End(xlUp)).Value
For II = LBound(Tabentree, 1) To UBound(Tabentree, 1)
If Tabentree(II, 1) <> "" Then valeur = Tabentree(II, 1)
If Tabentree(II, 1) = "" Then Tabentree(II, 1) = valeur
Next
Range(Cells(3598, 5), Cells(3598 + UBound(Tabentree, 1) - 1, 5)) =
Tabentree
End SubBonjour (re)
voici ce que j'ai :
Sub donnees_de_champ_unique()
Dim Tabentree
' on se positionne quelque part
range("A20").select
ActiveCell.Offset(1, 0).Select ' (on descend d'une cellule pour p as
avoir le titre de la colonne)
'on remplit la "collection Tabentree par toutes les valeurs de cette
colonne
Tabentree = Range(ActiveCell(), Cells(65536,
ActiveCell.Column).End(xlUp)).Value
Ok, mon soucis est que, dans cette colonne, j'ai des trous...
Je n'arrive pas à formaliser une boucle qui, lorsqu'elle rencontr e un
"trou" (une valeur de tabentrée vide
pour un indice donné) le comble avec la valeur de l'indice préc edent.
J'imagine un truc comme çà :
For II = LBound(Tabentree, 1) To UBound(Tabentree, 1) ' on boucle du
premier element au dernier élément
On Error Resume Next
Si la valeur de tabentree pour l'indice II est vide
copier "la valeur de tabentree à l'indice II -1" dans
"tabentree de l'indice II"
finSI
Next
Voilà, je n'arrive pas à lécrire, pouvez vous m'aider svp ?
Merci
José
Excuse moi, mais cette dernière ligne me permettait juste de vérifier
que j'enregistrais correctement les valeurs dans la matrice.
Tu n'as pas besoin de cette ligne, a moins que tu ne veuilles coller
les informations de ta matrice dans ta feuille (donc à la palce des
anciennes valeurs).
Dans ce cas, un truc dans ce genre (à optimiser) à ma place de la
dernière ligne :
Range(Cells(ActiveCell().Row, ActiveCell().Column + 1), _
Cells(ActiveCell().Row + UBound(Tabentree, 1) - 1,
ActiveCell().Column)) = Tabentree
Qui peut se traduire par :
Range(cells(row1, col1), cells(row2, col2)) = tabentree
avec row1 = Cells(ActiveCell().Row
col1 = ActiveCell().Column + 1
row2 = ActiveCell().Row + UBound(Tabentree, 1) - 1
col2 = ActiveCell().Column
Perso j'utilise une fonction de ce type parcequ'à partir de données
en vrac, je fait un tableau croisée dynamique, et à partir de ce
tableau croisé dynamique, aprèsqu'il ait été modifié par des
utilisateurs, je refais un autre tableau croisé dynamique qui me
permet d'avoir des données complètes et propre.
Pour ca, je n'utilise pas une matrice, mais je remplis automatiquement
les champs vide par la dernière valeur (et je le cache avec le format
";;;") :
Dim I, RowMax As Double
RowMax = Cells(65536, 1).End(xlUp).Row
Col = Selection.Column
With ActiveSheet
For I = 2 To RowMax
If .Cells(I, Col).Value <> "" Then valeur = .Cells(I, Col).Value
If .Cells(I, Col).Value = "" Then .Cells(I, Col).Value = valeur:
.Cells(I, Col).NumberFormat = ";;;"
Next
End With
Bonjour FdeCourt,
excuse de ne pas avoir répondu avant.
Pourrais tu simplement m'expliquer la dernière ligne ?
et en particulier le Range ?
Range( Cells(3598, 5) , Cells( 3598 + UBound(Tabentree, 1) - 1 ,
5 ) )
normalement, la fonction cells à les parametre ligne et colonne (?)
cells(ligne, colonne)
si l'on écrivais : [A:A] = Tabentree est-ce ce ne serait pas par eil
?
Merci encore.
José
Salut,
Une solution :
Sub testde()
Tabentree = Range(ActiveCell(), Cells(65536,
ActiveCell.Column).End(xlUp)).Value
For II = LBound(Tabentree, 1) To UBound(Tabentree, 1)
If Tabentree(II, 1) <> "" Then valeur = Tabentree(II, 1)
If Tabentree(II, 1) = "" Then Tabentree(II, 1) = valeur
Next
Range(Cells(3598, 5), Cells(3598 + UBound(Tabentree, 1) - 1, 5)) =
Tabentree
End Sub
Bonjour (re)
voici ce que j'ai :
Sub donnees_de_champ_unique()
Dim Tabentree
' on se positionne quelque part
range("A20").select
ActiveCell.Offset(1, 0).Select ' (on descend d'une cellule pour p as
avoir le titre de la colonne)
'on remplit la "collection Tabentree par toutes les valeurs de cette
colonne
Tabentree = Range(ActiveCell(), Cells(65536,
ActiveCell.Column).End(xlUp)).Value
Ok, mon soucis est que, dans cette colonne, j'ai des trous...
Je n'arrive pas à formaliser une boucle qui, lorsqu'elle rencontr e un
"trou" (une valeur de tabentrée vide
pour un indice donné) le comble avec la valeur de l'indice préc edent.
J'imagine un truc comme çà :
For II = LBound(Tabentree, 1) To UBound(Tabentree, 1) ' on boucle du
premier element au dernier élément
On Error Resume Next
Si la valeur de tabentree pour l'indice II est vide
copier "la valeur de tabentree à l'indice II -1" dans
"tabentree de l'indice II"
finSI
Next
Voilà, je n'arrive pas à lécrire, pouvez vous m'aider svp ?
Merci
José
Excuse moi, mais cette dernière ligne me permettait juste de vérifier
que j'enregistrais correctement les valeurs dans la matrice.
Tu n'as pas besoin de cette ligne, a moins que tu ne veuilles coller
les informations de ta matrice dans ta feuille (donc à la palce des
anciennes valeurs).
Dans ce cas, un truc dans ce genre (à optimiser) à ma place de la
dernière ligne :
Range(Cells(ActiveCell().Row, ActiveCell().Column + 1), _
Cells(ActiveCell().Row + UBound(Tabentree, 1) - 1,
ActiveCell().Column)) = Tabentree
Qui peut se traduire par :
Range(cells(row1, col1), cells(row2, col2)) = tabentree
avec row1 = Cells(ActiveCell().Row
col1 = ActiveCell().Column + 1
row2 = ActiveCell().Row + UBound(Tabentree, 1) - 1
col2 = ActiveCell().Column
Perso j'utilise une fonction de ce type parcequ'à partir de données
en vrac, je fait un tableau croisée dynamique, et à partir de ce
tableau croisé dynamique, aprèsqu'il ait été modifié par des
utilisateurs, je refais un autre tableau croisé dynamique qui me
permet d'avoir des données complètes et propre.
Pour ca, je n'utilise pas une matrice, mais je remplis automatiquement
les champs vide par la dernière valeur (et je le cache avec le format
";;;") :
Dim I, RowMax As Double
RowMax = Cells(65536, 1).End(xlUp).Row
Col = Selection.Column
With ActiveSheet
For I = 2 To RowMax
If .Cells(I, Col).Value <> "" Then valeur = .Cells(I, Col).Value
If .Cells(I, Col).Value = "" Then .Cells(I, Col).Value = valeur:
.Cells(I, Col).NumberFormat = ";;;"
Next
End WithBonjour FdeCourt,
excuse de ne pas avoir répondu avant.
Pourrais tu simplement m'expliquer la dernière ligne ?
et en particulier le Range ?
Range( Cells(3598, 5) , Cells( 3598 + UBound(Tabentree, 1) - 1 ,
5 ) )
normalement, la fonction cells à les parametre ligne et colonne (?)
cells(ligne, colonne)
si l'on écrivais : [A:A] = Tabentree est-ce ce ne serait pas par eil
?
Merci encore.
JoséSalut,
Une solution :
Sub testde()
Tabentree = Range(ActiveCell(), Cells(65536,
ActiveCell.Column).End(xlUp)).Value
For II = LBound(Tabentree, 1) To UBound(Tabentree, 1)
If Tabentree(II, 1) <> "" Then valeur = Tabentree(II, 1)
If Tabentree(II, 1) = "" Then Tabentree(II, 1) = valeur
Next
Range(Cells(3598, 5), Cells(3598 + UBound(Tabentree, 1) - 1, 5)) =
Tabentree
End SubBonjour (re)
voici ce que j'ai :
Sub donnees_de_champ_unique()
Dim Tabentree
' on se positionne quelque part
range("A20").select
ActiveCell.Offset(1, 0).Select ' (on descend d'une cellule pour p as
avoir le titre de la colonne)
'on remplit la "collection Tabentree par toutes les valeurs de cette
colonne
Tabentree = Range(ActiveCell(), Cells(65536,
ActiveCell.Column).End(xlUp)).Value
Ok, mon soucis est que, dans cette colonne, j'ai des trous...
Je n'arrive pas à formaliser une boucle qui, lorsqu'elle rencontr e un
"trou" (une valeur de tabentrée vide
pour un indice donné) le comble avec la valeur de l'indice préc edent.
J'imagine un truc comme çà :
For II = LBound(Tabentree, 1) To UBound(Tabentree, 1) ' on boucle du
premier element au dernier élément
On Error Resume Next
Si la valeur de tabentree pour l'indice II est vide
copier "la valeur de tabentree à l'indice II -1" dans
"tabentree de l'indice II"
finSI
Next
Voilà, je n'arrive pas à lécrire, pouvez vous m'aider svp ?
Merci
José