Remplacer cellule vide par la suivante
Résolu
boomer
-
boomer -
boomer -
Bonjour,
je souhaiterais savoir si je peux remplacer les cellules vides d'une colonne recapitulative sur la feuille 2 par la prochaine cellule pleine de la liste, données etant tirées de la feuille 1 mais avec des trous!!!
exemple:
feuil1 feuil2
colonne A colonne B colonne A colonne B
A 1 A 1
B 0 B 0
C 2
C 2 D 3
D 1
D 3
D 1
Pour l'instant, j'ai fais une petite macro pour recherche mon texte ainsi que ses valeurs et les copier sur la feuille 2, mais le souci est qu'il me copie aussi les trous!
Private Sub Worksheet_Activate()
ActiveCell.FormulaR1C1 = "=IF(ISTEXT(Feuil1!R[2]C),Feuil1!R[2]C,"""")"
Range("A1").Select
Selection.AutoFill Destination:=Range("A1:A35"), Type:=xlFillDefault
Range("A1:A35").Select
ActiveCell.FormulaR1C1 = _
"=IF(ISERROR(VLOOKUP(Feuil2!C[-1],Feuil1!C[-1]:C,2,FALSE)),"""",VLOOKUP(Feuil2!C[-1],Feuil1!C[-1]:C,2,FALSE))"
Range("B1").Select
Selection.AutoFill Destination:=Range("B1:B35"), Type:=xlFillDefault
Range("B1:B35").Select
End Sub
De plus , est ce qu'il est possible d'additionner 2 resultats de 2 textes identiques
comme par exemple D et D donneraient = 4
Désolé j'ai pas un grand niveau en macro!!
Merci
je souhaiterais savoir si je peux remplacer les cellules vides d'une colonne recapitulative sur la feuille 2 par la prochaine cellule pleine de la liste, données etant tirées de la feuille 1 mais avec des trous!!!
exemple:
feuil1 feuil2
colonne A colonne B colonne A colonne B
A 1 A 1
B 0 B 0
C 2
C 2 D 3
D 1
D 3
D 1
Pour l'instant, j'ai fais une petite macro pour recherche mon texte ainsi que ses valeurs et les copier sur la feuille 2, mais le souci est qu'il me copie aussi les trous!
Private Sub Worksheet_Activate()
ActiveCell.FormulaR1C1 = "=IF(ISTEXT(Feuil1!R[2]C),Feuil1!R[2]C,"""")"
Range("A1").Select
Selection.AutoFill Destination:=Range("A1:A35"), Type:=xlFillDefault
Range("A1:A35").Select
ActiveCell.FormulaR1C1 = _
"=IF(ISERROR(VLOOKUP(Feuil2!C[-1],Feuil1!C[-1]:C,2,FALSE)),"""",VLOOKUP(Feuil2!C[-1],Feuil1!C[-1]:C,2,FALSE))"
Range("B1").Select
Selection.AutoFill Destination:=Range("B1:B35"), Type:=xlFillDefault
Range("B1:B35").Select
End Sub
De plus , est ce qu'il est possible d'additionner 2 resultats de 2 textes identiques
comme par exemple D et D donneraient = 4
Désolé j'ai pas un grand niveau en macro!!
Merci
A voir également:
- Remplacer cellule vide par la suivante
- Remplacer disque dur par ssd - Guide
- Supprimer page word vide - Guide
- Remplacer par word - Guide
- Caractere vide - Guide
- Excel cellule couleur si condition texte - Guide
5 réponses
hm .............. mon exemple est mal passé
Je le refais:
Colonne A et colonne B Feuil1
A.........1
B.........0
vide
C.........2
vide
D.........1
D.........3
Colonne A et colonne B feuil2
A.........1
B.........0
C.........2
D.........1
D.........3
J'espere que ce sera plus comprehensible!!!!
merci
Je le refais:
Colonne A et colonne B Feuil1
A.........1
B.........0
vide
C.........2
vide
D.........1
D.........3
Colonne A et colonne B feuil2
A.........1
B.........0
C.........2
D.........1
D.........3
J'espere que ce sera plus comprehensible!!!!
merci
Bonsoir,
Essaie si ça convient :
eric
Essaie si ça convient :
Sub copySuppVides() Dim sh1 As Worksheet, sh2 As Worksheet Set sh1 = Worksheets("Feuil1") Set sh2 = Worksheets("Feuil2") sh2.[A1].Resize(sh1.[A65536].End(xlUp).Row, 2) = sh1.[A1].Resize(sh1.[A65536].End(xlUp).Row, 2).Value sh2.Range("A:B").SpecialCells(xlCellTypeBlanks).Delete Shift:=xlUp End Sub
eric
salut eriic
excellent ca fonctionne!!!
je te remerci, seulement il y a un valeur qui est toujours en derniere cellule
exemple:
A......1
B......3
C.....2
vide....Valeur x?
mais sinon ca marche parfaitement!!!
merci
excellent ca fonctionne!!!
je te remerci, seulement il y a un valeur qui est toujours en derniere cellule
exemple:
A......1
B......3
C.....2
vide....Valeur x?
mais sinon ca marche parfaitement!!!
merci
Si en feuil1 tu peux avoir la colonne B remplie plus loin que la colonne A alors :
Sinon je ne nettoie pas Feuil2, il faudrait peut-être l'ajouter si tu ne veux pas que d'anciennes valeurs subsistent.
Avec au début par exemple :
sh2.range("A:B").clearcontents
eric
Sub copySuppVides() Dim sh1 As Worksheet, sh2 As Worksheet Set sh1 = Worksheets("Feuil1") Set sh2 = Worksheets("Feuil2") sh2.[A1].Resize(sh1.[B65536].End(xlUp).Row, 2) = sh1.[A1].Resize(sh1.[B65536].End(xlUp).Row, 2).Value sh2.Range("A:B").SpecialCells(xlCellTypeBlanks).Delete Shift:=xlUp End Sub
Sinon je ne nettoie pas Feuil2, il faudrait peut-être l'ajouter si tu ne veux pas que d'anciennes valeurs subsistent.
Avec au début par exemple :
sh2.range("A:B").clearcontents
eric
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question