Remplissage des cellule vides par le valeur ci-dessus
12 réponses
Jimbo
Bonjour à toutes et à tous,
j'ai un problème avec un fichier CSV issu d'une base de donnée via le
logiciel Cognos. J'ai tous mes clients ainsi que le type de produit
consommé. Cependant, pour les types de produits, il ne répete pas le
libéllé du client donc un TCD devient impossible. Voir tableau ci-dessous :
3PARDATA Inc Audio
3PF Audio
4 GL Software Solutions Audio
4 Square Video
401konnect Com Inc Audio
Data
Rich Media
41 000 Feet Audio
42!40 ARCHITECTURE Inc Audio
Data
45 North Productions Audio
4GL School Solutions Audio
5280 Solutions Audio
Data
6CBE Audio
77th District Court Audio
7th Edition Audio
800 Onemail Inc Audio
Data
Dans le colonne du gauche, où la cellule est vide, je voudrais le remplir
avec la valeur qui est immediatement ci-dessus. Dans le cas de 800 Onemail
Inc par exemple au niveau de l'entrée "Data" je voudrais copier 800 Onemail
Inc.
Je pourrais le faire à la main mais comme il y a 50 000 lignes,
j'apprecierai vraiment si quelqu'un connait une fonction qui pourrait me le
faire!
merci Michel & Denis, en fait c'est vous avez dit, j'avais pas fait attention au "Row -1" également dans <<If Range("A" & CELL.Row - 1).Value "" Then>> .
Bonne soirée à vous deux,
James
"Michel HOLDERITH" <#nospam# a écrit dans le message de news:
euhhhhhh... c'est correcte ? Range("A" & CELL.Row).Value = Range("A" & CELL.Row - 1).Value ce n'est pas plutot : Range("A" & CELL.Row).Value = Range("B" & CELL.Row - 1).Value @+ Michel.
"Jimbo" wrote in message news:
désolé Michel,
une dernière question, voici la module finale :
Sub test() Dim CELL As Range For Each CELL In Range("B1", Range("b65000").End(xlUp)) CELL.Select If Range("A" & CELL.Row - 1).Value = "" Then If ActiveCell.Value = "Data" Or ActiveCell.Value = "Other" Or ActiveCell.Value = "Rich Media" Then Range("A" & CELL.Row).Value = Range("A" & CELL.Row - 1).Value End If End If fin: Next CELL End Sub
je dois me tromper quelque part car j'ai un message d'erreur :
erreur d'éxecution '1004' La méthode 'range' de l'objet'_Global' a échoué
Merci de ton aide,
James "Jimbo" a écrit dans le message de news:
Merci beaucoup Michel
"Michel HOLDERITH" <#nospam# a écrit dans le message de news:%
juste une autre condition avant :
If range("A" & CELL.row-1).value = "" then If ActiveCell.Value = "Data" or ActiveCell.Value = "Other" or ActiveCell.Value = "blablabla" et.... Then
end if end if @+ Michel.
"Jimbo" wrote in message news:%23ws$
excuses moi encore Michel, il faudrait également que le valeur de la
cellule-1 dans colonne A soit copié vers la cellule en dessous à condition
de cette dernière soit vide.
Merci
"Michel HOLDERITH" <#nospam# a écrit dans le message de
news:
Salut, a mettre dans une macro :
Sub test() Dim CELL As Range For Each CELL In Range("B1", Range("b65000").End(xlUp)) CELL.Select If ActiveCell.Value = "Data" Then Range("A" & CELL.Row).Value = Range("B" & CELL.Row - 1).Value End If fin: Next CELL End Sub
dis moi si ca te convient @+ Michel.
"Jimbo" wrote in message news:e3ji$
Bonjour à toutes et à tous,
j'ai un problème avec un fichier CSV issu d'une base de donnée via
le
logiciel Cognos. J'ai tous mes clients ainsi que le type de produit
consommé. Cependant, pour les types de produits, il ne répete pas
le
libéllé du client donc un TCD devient impossible. Voir tableau
ci-dessous
:
3PARDATA Inc Audio 3PF Audio 4 GL Software Solutions Audio 4 Square Video 401konnect Com Inc Audio Data Rich Media 41 000 Feet Audio 42!40 ARCHITECTURE Inc Audio Data 45 North Productions Audio 4GL School Solutions Audio 5280 Solutions Audio Data 6CBE Audio 77th District Court Audio 7th Edition Audio 800 Onemail Inc Audio Data
Dans le colonne du gauche, où la cellule est vide, je voudrais le
remplir
avec la valeur qui est immediatement ci-dessus. Dans le cas de
800
Onemail
Inc par exemple au niveau de l'entrée "Data" je voudrais copier
800
Onemail
Inc.
Je pourrais le faire à la main mais comme il y a 50 000 lignes,
j'apprecierai vraiment si quelqu'un connait une fonction qui pourrait
me
le
faire!
Merci beaucoup de votre aide et bonne journée.
James
merci Michel & Denis, en fait c'est vous avez dit, j'avais pas fait
attention au "Row -1" également dans <<If Range("A" & CELL.Row - 1).Value "" Then>> .
Bonne soirée à vous deux,
James
"Michel HOLDERITH" <#nospam#milissa@pt.lu> a écrit dans le message de
news:u9e60v5pDHA.2244@TK2MSFTNGP12.phx.gbl...
euhhhhhh...
c'est correcte ?
Range("A" & CELL.Row).Value = Range("A" & CELL.Row - 1).Value
ce n'est pas plutot :
Range("A" & CELL.Row).Value = Range("B" & CELL.Row - 1).Value
@+
Michel.
"Jimbo" <jgparker@wanadoo.fr> wrote in message
news:uZ2FrV5pDHA.2000@TK2MSFTNGP10.phx.gbl...
désolé Michel,
une dernière question, voici la module finale :
Sub test()
Dim CELL As Range
For Each CELL In Range("B1", Range("b65000").End(xlUp))
CELL.Select
If Range("A" & CELL.Row - 1).Value = "" Then
If ActiveCell.Value = "Data" Or ActiveCell.Value = "Other" Or
ActiveCell.Value = "Rich Media" Then
Range("A" & CELL.Row).Value = Range("A" & CELL.Row - 1).Value
End If
End If
fin:
Next CELL
End Sub
je dois me tromper quelque part car j'ai un message d'erreur :
erreur d'éxecution '1004'
La méthode 'range' de l'objet'_Global' a échoué
Merci de ton aide,
James
"Jimbo" <jgparker@wanadoo.fr> a écrit dans le message de
news:uHrtft4pDHA.1728@TK2MSFTNGP09.phx.gbl...
Merci beaucoup Michel
"Michel HOLDERITH" <#nospam#milissa@pt.lu> a écrit dans le message de
news:%23E8IQh4pDHA.2440@TK2MSFTNGP10.phx.gbl...
juste une autre condition avant :
If range("A" & CELL.row-1).value = "" then
If ActiveCell.Value = "Data" or ActiveCell.Value = "Other" or
ActiveCell.Value = "blablabla" et.... Then
end if
end if
@+
Michel.
"Jimbo" <jgparker@wanadoo.fr> wrote in message
news:%23ws$Lc4pDHA.648@TK2MSFTNGP11.phx.gbl...
excuses moi encore Michel, il faudrait également que le valeur de
la
cellule-1 dans colonne A soit copié vers la cellule en dessous à
condition
de cette dernière soit vide.
Merci
"Michel HOLDERITH" <#nospam#milissa@pt.lu> a écrit dans le message
de
news:OFmqOB4pDHA.2592@TK2MSFTNGP10.phx.gbl...
Salut,
a mettre dans une macro :
Sub test()
Dim CELL As Range
For Each CELL In Range("B1", Range("b65000").End(xlUp))
CELL.Select
If ActiveCell.Value = "Data" Then
Range("A" & CELL.Row).Value = Range("B" & CELL.Row - 1).Value
End If
fin:
Next CELL
End Sub
dis moi si ca te convient
@+
Michel.
"Jimbo" <jgparker@wanadoo.fr> wrote in message
news:e3ji$y3pDHA.2528@TK2MSFTNGP12.phx.gbl...
Bonjour à toutes et à tous,
j'ai un problème avec un fichier CSV issu d'une base de donnée
via
le
logiciel Cognos. J'ai tous mes clients ainsi que le type de
produit
consommé. Cependant, pour les types de produits, il ne répete
pas
le
libéllé du client donc un TCD devient impossible. Voir
tableau
ci-dessous
:
3PARDATA Inc Audio
3PF Audio
4 GL Software Solutions Audio
4 Square Video
401konnect Com Inc Audio
Data
Rich Media
41 000 Feet Audio
42!40 ARCHITECTURE Inc Audio
Data
45 North Productions Audio
4GL School Solutions Audio
5280 Solutions Audio
Data
6CBE Audio
77th District Court Audio
7th Edition Audio
800 Onemail Inc Audio
Data
Dans le colonne du gauche, où la cellule est vide, je voudrais
le
remplir
avec la valeur qui est immediatement ci-dessus. Dans le cas
de
800
Onemail
Inc par exemple au niveau de l'entrée "Data" je voudrais
copier
800
Onemail
Inc.
Je pourrais le faire à la main mais comme il y a 50 000
lignes,
j'apprecierai vraiment si quelqu'un connait une fonction qui
pourrait
merci Michel & Denis, en fait c'est vous avez dit, j'avais pas fait attention au "Row -1" également dans <<If Range("A" & CELL.Row - 1).Value "" Then>> .
Bonne soirée à vous deux,
James
"Michel HOLDERITH" <#nospam# a écrit dans le message de news:
euhhhhhh... c'est correcte ? Range("A" & CELL.Row).Value = Range("A" & CELL.Row - 1).Value ce n'est pas plutot : Range("A" & CELL.Row).Value = Range("B" & CELL.Row - 1).Value @+ Michel.
"Jimbo" wrote in message news:
désolé Michel,
une dernière question, voici la module finale :
Sub test() Dim CELL As Range For Each CELL In Range("B1", Range("b65000").End(xlUp)) CELL.Select If Range("A" & CELL.Row - 1).Value = "" Then If ActiveCell.Value = "Data" Or ActiveCell.Value = "Other" Or ActiveCell.Value = "Rich Media" Then Range("A" & CELL.Row).Value = Range("A" & CELL.Row - 1).Value End If End If fin: Next CELL End Sub
je dois me tromper quelque part car j'ai un message d'erreur :
erreur d'éxecution '1004' La méthode 'range' de l'objet'_Global' a échoué
Merci de ton aide,
James "Jimbo" a écrit dans le message de news:
Merci beaucoup Michel
"Michel HOLDERITH" <#nospam# a écrit dans le message de news:%
juste une autre condition avant :
If range("A" & CELL.row-1).value = "" then If ActiveCell.Value = "Data" or ActiveCell.Value = "Other" or ActiveCell.Value = "blablabla" et.... Then
end if end if @+ Michel.
"Jimbo" wrote in message news:%23ws$
excuses moi encore Michel, il faudrait également que le valeur de la
cellule-1 dans colonne A soit copié vers la cellule en dessous à condition
de cette dernière soit vide.
Merci
"Michel HOLDERITH" <#nospam# a écrit dans le message de
news:
Salut, a mettre dans une macro :
Sub test() Dim CELL As Range For Each CELL In Range("B1", Range("b65000").End(xlUp)) CELL.Select If ActiveCell.Value = "Data" Then Range("A" & CELL.Row).Value = Range("B" & CELL.Row - 1).Value End If fin: Next CELL End Sub
dis moi si ca te convient @+ Michel.
"Jimbo" wrote in message news:e3ji$
Bonjour à toutes et à tous,
j'ai un problème avec un fichier CSV issu d'une base de donnée via
le
logiciel Cognos. J'ai tous mes clients ainsi que le type de produit
consommé. Cependant, pour les types de produits, il ne répete pas
le
libéllé du client donc un TCD devient impossible. Voir tableau
ci-dessous
:
3PARDATA Inc Audio 3PF Audio 4 GL Software Solutions Audio 4 Square Video 401konnect Com Inc Audio Data Rich Media 41 000 Feet Audio 42!40 ARCHITECTURE Inc Audio Data 45 North Productions Audio 4GL School Solutions Audio 5280 Solutions Audio Data 6CBE Audio 77th District Court Audio 7th Edition Audio 800 Onemail Inc Audio Data
Dans le colonne du gauche, où la cellule est vide, je voudrais le
remplir
avec la valeur qui est immediatement ci-dessus. Dans le cas de
800
Onemail
Inc par exemple au niveau de l'entrée "Data" je voudrais copier
800
Onemail
Inc.
Je pourrais le faire à la main mais comme il y a 50 000 lignes,
j'apprecierai vraiment si quelqu'un connait une fonction qui pourrait
me
le
faire!
Merci beaucoup de votre aide et bonne journée.
James
Daniel.M
Salut,
Fichier CSV ==> donc, il n'y a pas de formule.
Essaie cette procédure:
Sub RempliLesVides() Dim Plg As Range ' Tu adaptes B1 pour le coin supérieur gauche de ton tableau With Range("B1").CurrentRegion On Error Resume Next Set Plg = .SpecialCells(xlCellTypeBlanks) On Error GoTo 0 If Not Plg Is Nothing Then Plg.FormulaR1C1 = "=R[-1]C" set Plg = Nothing End If .Value = .Value End With End Sub
Salutations,
Daniel M.
"Jimbo" wrote in message news:e3ji$
Bonjour à toutes et à tous,
j'ai un problème avec un fichier CSV issu d'une base de donnée via le logiciel Cognos. J'ai tous mes clients ainsi que le type de produit consommé. Cependant, pour les types de produits, il ne répete pas le libéllé du client donc un TCD devient impossible. Voir tableau ci-dessous :
3PARDATA Inc Audio 3PF Audio 4 GL Software Solutions Audio 4 Square Video 401konnect Com Inc Audio Data Rich Media 41 000 Feet Audio 42!40 ARCHITECTURE Inc Audio Data 45 North Productions Audio 4GL School Solutions Audio 5280 Solutions Audio Data 6CBE Audio 77th District Court Audio 7th Edition Audio 800 Onemail Inc Audio Data
Dans le colonne du gauche, où la cellule est vide, je voudrais le remplir avec la valeur qui est immediatement ci-dessus. Dans le cas de 800 Onemail Inc par exemple au niveau de l'entrée "Data" je voudrais copier 800 Onemail Inc.
Je pourrais le faire à la main mais comme il y a 50 000 lignes, j'apprecierai vraiment si quelqu'un connait une fonction qui pourrait me le faire!
Merci beaucoup de votre aide et bonne journée.
James
Salut,
Fichier CSV ==> donc, il n'y a pas de formule.
Essaie cette procédure:
Sub RempliLesVides()
Dim Plg As Range
' Tu adaptes B1 pour le coin supérieur gauche de ton tableau
With Range("B1").CurrentRegion
On Error Resume Next
Set Plg = .SpecialCells(xlCellTypeBlanks)
On Error GoTo 0
If Not Plg Is Nothing Then
Plg.FormulaR1C1 = "=R[-1]C"
set Plg = Nothing
End If
.Value = .Value
End With
End Sub
Salutations,
Daniel M.
"Jimbo" <jgparker@wanadoo.fr> wrote in message
news:e3ji$y3pDHA.2528@TK2MSFTNGP12.phx.gbl...
Bonjour à toutes et à tous,
j'ai un problème avec un fichier CSV issu d'une base de donnée via le
logiciel Cognos. J'ai tous mes clients ainsi que le type de produit
consommé. Cependant, pour les types de produits, il ne répete pas le
libéllé du client donc un TCD devient impossible. Voir tableau ci-dessous :
3PARDATA Inc Audio
3PF Audio
4 GL Software Solutions Audio
4 Square Video
401konnect Com Inc Audio
Data
Rich Media
41 000 Feet Audio
42!40 ARCHITECTURE Inc Audio
Data
45 North Productions Audio
4GL School Solutions Audio
5280 Solutions Audio
Data
6CBE Audio
77th District Court Audio
7th Edition Audio
800 Onemail Inc Audio
Data
Dans le colonne du gauche, où la cellule est vide, je voudrais le remplir
avec la valeur qui est immediatement ci-dessus. Dans le cas de 800 Onemail
Inc par exemple au niveau de l'entrée "Data" je voudrais copier 800 Onemail
Inc.
Je pourrais le faire à la main mais comme il y a 50 000 lignes,
j'apprecierai vraiment si quelqu'un connait une fonction qui pourrait me le
faire!
Sub RempliLesVides() Dim Plg As Range ' Tu adaptes B1 pour le coin supérieur gauche de ton tableau With Range("B1").CurrentRegion On Error Resume Next Set Plg = .SpecialCells(xlCellTypeBlanks) On Error GoTo 0 If Not Plg Is Nothing Then Plg.FormulaR1C1 = "=R[-1]C" set Plg = Nothing End If .Value = .Value End With End Sub
Salutations,
Daniel M.
"Jimbo" wrote in message news:e3ji$
Bonjour à toutes et à tous,
j'ai un problème avec un fichier CSV issu d'une base de donnée via le logiciel Cognos. J'ai tous mes clients ainsi que le type de produit consommé. Cependant, pour les types de produits, il ne répete pas le libéllé du client donc un TCD devient impossible. Voir tableau ci-dessous :
3PARDATA Inc Audio 3PF Audio 4 GL Software Solutions Audio 4 Square Video 401konnect Com Inc Audio Data Rich Media 41 000 Feet Audio 42!40 ARCHITECTURE Inc Audio Data 45 North Productions Audio 4GL School Solutions Audio 5280 Solutions Audio Data 6CBE Audio 77th District Court Audio 7th Edition Audio 800 Onemail Inc Audio Data
Dans le colonne du gauche, où la cellule est vide, je voudrais le remplir avec la valeur qui est immediatement ci-dessus. Dans le cas de 800 Onemail Inc par exemple au niveau de l'entrée "Data" je voudrais copier 800 Onemail Inc.
Je pourrais le faire à la main mais comme il y a 50 000 lignes, j'apprecierai vraiment si quelqu'un connait une fonction qui pourrait me le faire!