Automatiser la copie de cellulle à partir d'une cellule du desso us
3 réponses
Benoît
Je n'arrive pas à remplir des cellules vides à partir de données qui se
trouvent dans des cellules en dessous.
A1 et B1 vide
A2 et B2 vide
A3 et B3 vide
A4 et B4 vide
A5 = 901000 et B6 = Accueil
A6 et B6 vide
A7 et B7 vide
A8 = 902000 et B8 = Information
ainsi de suite
Je veux une formule qui lise la cellule si elle est vide qu'elle passe à
celle juste en dessous et dès qu'elle trouve une cellule remplie (Par Ex. A5)
qu'elle recopie cette cellule dans la vide.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
isabelle
bonjour Benoît,
Sub Macro1() dp = Range("A1") For Each c In Range("A1:A" & Range("A65536").End(xlUp).Row) If c = 0 Then Range(c.Address) = dp Else dp = c End If Next End Sub
isabelle
Je n'arrive pas à remplir des cellules vides à partir de données qui se trouvent dans des cellules en dessous.
A1 et B1 vide A2 et B2 vide A3 et B3 vide A4 et B4 vide A5 = 901000 et B6 = Accueil A6 et B6 vide A7 et B7 vide A8 = 902000 et B8 = Information ainsi de suite
Je veux une formule qui lise la cellule si elle est vide qu'elle passe à celle juste en dessous et dès qu'elle trouve une cellule remplie (Par Ex. A5) qu'elle recopie cette cellule dans la vide.
Merci d'avance
bonjour Benoît,
Sub Macro1()
dp = Range("A1")
For Each c In Range("A1:A" & Range("A65536").End(xlUp).Row)
If c = 0 Then
Range(c.Address) = dp
Else
dp = c
End If
Next
End Sub
isabelle
Je n'arrive pas à remplir des cellules vides à partir de données qui se
trouvent dans des cellules en dessous.
A1 et B1 vide
A2 et B2 vide
A3 et B3 vide
A4 et B4 vide
A5 = 901000 et B6 = Accueil
A6 et B6 vide
A7 et B7 vide
A8 = 902000 et B8 = Information
ainsi de suite
Je veux une formule qui lise la cellule si elle est vide qu'elle passe à
celle juste en dessous et dès qu'elle trouve une cellule remplie (Par Ex. A5)
qu'elle recopie cette cellule dans la vide.
Sub Macro1() dp = Range("A1") For Each c In Range("A1:A" & Range("A65536").End(xlUp).Row) If c = 0 Then Range(c.Address) = dp Else dp = c End If Next End Sub
isabelle
Je n'arrive pas à remplir des cellules vides à partir de données qui se trouvent dans des cellules en dessous.
A1 et B1 vide A2 et B2 vide A3 et B3 vide A4 et B4 vide A5 = 901000 et B6 = Accueil A6 et B6 vide A7 et B7 vide A8 = 902000 et B8 = Information ainsi de suite
Je veux une formule qui lise la cellule si elle est vide qu'elle passe à celle juste en dessous et dès qu'elle trouve une cellule remplie (Par Ex. A5) qu'elle recopie cette cellule dans la vide.
Merci d'avance
docm
Bonjour Benoît
Si tu veux ne laisser aucune ligne vide en colonnes A et B:
Sub Supprimer_les_cellules_vides_Colonnes_A_et_B() NbreDeVides = 0 NumeroCombler = 0 ReDim LignesVides(NbreDeVides) For Each c In Range("A1:A" & Range("A65536").End(xlUp).Row) If c = 0 And c.Offset(0, 1) = 0 Then NbreDeVides = NbreDeVides + 1 ReDim Preserve LignesVides(NbreDeVides) LignesVides(NbreDeVides) = c.Address Else If NbreDeVides > NumeroCombler Then NumeroCombler = NumeroCombler + 1 Range(LignesVides(NumeroCombler)) = c.Value c.Value = "" NbreDeVides = NbreDeVides + 1 ReDim Preserve LignesVides(NbreDeVides) LignesVides(NbreDeVides) = c.Address End If End If Next End Sub
docm
"Benoît" a écrit dans le message news:
Je n'arrive pas à remplir des cellules vides à partir de données qui se trouvent dans des cellules en dessous.
A1 et B1 vide A2 et B2 vide A3 et B3 vide A4 et B4 vide A5 = 901000 et B6 = Accueil A6 et B6 vide A7 et B7 vide A8 = 902000 et B8 = Information ainsi de suite
Je veux une formule qui lise la cellule si elle est vide qu'elle passe à celle juste en dessous et dès qu'elle trouve une cellule remplie (Par Ex. A5)
qu'elle recopie cette cellule dans la vide.
Merci d'avance
Bonjour Benoît
Si tu veux ne laisser aucune ligne vide en colonnes A et B:
Sub Supprimer_les_cellules_vides_Colonnes_A_et_B()
NbreDeVides = 0
NumeroCombler = 0
ReDim LignesVides(NbreDeVides)
For Each c In Range("A1:A" & Range("A65536").End(xlUp).Row)
If c = 0 And c.Offset(0, 1) = 0 Then
NbreDeVides = NbreDeVides + 1
ReDim Preserve LignesVides(NbreDeVides)
LignesVides(NbreDeVides) = c.Address
Else
If NbreDeVides > NumeroCombler Then
NumeroCombler = NumeroCombler + 1
Range(LignesVides(NumeroCombler)) = c.Value
c.Value = ""
NbreDeVides = NbreDeVides + 1
ReDim Preserve LignesVides(NbreDeVides)
LignesVides(NbreDeVides) = c.Address
End If
End If
Next
End Sub
docm
"Benoît" <Benot@discussions.microsoft.com> a écrit dans le message news:
061978F6-FFC9-40DF-86DA-C470353EEB64@microsoft.com...
Je n'arrive pas à remplir des cellules vides à partir de données qui se
trouvent dans des cellules en dessous.
A1 et B1 vide
A2 et B2 vide
A3 et B3 vide
A4 et B4 vide
A5 = 901000 et B6 = Accueil
A6 et B6 vide
A7 et B7 vide
A8 = 902000 et B8 = Information
ainsi de suite
Je veux une formule qui lise la cellule si elle est vide qu'elle passe à
celle juste en dessous et dès qu'elle trouve une cellule remplie (Par Ex.
A5)
Si tu veux ne laisser aucune ligne vide en colonnes A et B:
Sub Supprimer_les_cellules_vides_Colonnes_A_et_B() NbreDeVides = 0 NumeroCombler = 0 ReDim LignesVides(NbreDeVides) For Each c In Range("A1:A" & Range("A65536").End(xlUp).Row) If c = 0 And c.Offset(0, 1) = 0 Then NbreDeVides = NbreDeVides + 1 ReDim Preserve LignesVides(NbreDeVides) LignesVides(NbreDeVides) = c.Address Else If NbreDeVides > NumeroCombler Then NumeroCombler = NumeroCombler + 1 Range(LignesVides(NumeroCombler)) = c.Value c.Value = "" NbreDeVides = NbreDeVides + 1 ReDim Preserve LignesVides(NbreDeVides) LignesVides(NbreDeVides) = c.Address End If End If Next End Sub
docm
"Benoît" a écrit dans le message news:
Je n'arrive pas à remplir des cellules vides à partir de données qui se trouvent dans des cellules en dessous.
A1 et B1 vide A2 et B2 vide A3 et B3 vide A4 et B4 vide A5 = 901000 et B6 = Accueil A6 et B6 vide A7 et B7 vide A8 = 902000 et B8 = Information ainsi de suite
Je veux une formule qui lise la cellule si elle est vide qu'elle passe à celle juste en dessous et dès qu'elle trouve une cellule remplie (Par Ex. A5)
qu'elle recopie cette cellule dans la vide.
Merci d'avance
docm
J'ai oublié de faire monter les éléments de la colonne B: Correction.
Sub Supprimer_les_cellules_vides_Colonnes_A_et_B() NbreDeVides = 0 NumeroCombler = 0 ReDim LignesVides(NbreDeVides) For Each c In Range("A1:A" & Range("A65536").End(xlUp).Row) If c = 0 And c.Offset(0, 1) = 0 Then
NbreDeVides = NbreDeVides + 1 ReDim Preserve LignesVides(NbreDeVides) LignesVides(NbreDeVides) = c.Address Else If NbreDeVides > NumeroCombler Then NumeroCombler = NumeroCombler + 1 Range(LignesVides(NumeroCombler)) = c.Value Range(LignesVides(NumeroCombler)).Offset(0, 1) = c.Offset(0, 1).Value c.Value = "" c.Offset(0, 1).Value = "" NbreDeVides = NbreDeVides + 1 ReDim Preserve LignesVides(NbreDeVides) LignesVides(NbreDeVides) = c.Address End If End If Next End Sub
"docm" a écrit dans le message news: #
Bonjour Benoît
Si tu veux ne laisser aucune ligne vide en colonnes A et B:
Sub Supprimer_les_cellules_vides_Colonnes_A_et_B() NbreDeVides = 0 NumeroCombler = 0 ReDim LignesVides(NbreDeVides) For Each c In Range("A1:A" & Range("A65536").End(xlUp).Row) If c = 0 And c.Offset(0, 1) = 0 Then NbreDeVides = NbreDeVides + 1 ReDim Preserve LignesVides(NbreDeVides) LignesVides(NbreDeVides) = c.Address Else If NbreDeVides > NumeroCombler Then NumeroCombler = NumeroCombler + 1 Range(LignesVides(NumeroCombler)) = c.Value c.Value = "" NbreDeVides = NbreDeVides + 1 ReDim Preserve LignesVides(NbreDeVides) LignesVides(NbreDeVides) = c.Address End If End If Next End Sub
docm
"Benoît" a écrit dans le message news:
Je n'arrive pas à remplir des cellules vides à partir de données qui se trouvent dans des cellules en dessous.
A1 et B1 vide A2 et B2 vide A3 et B3 vide A4 et B4 vide A5 = 901000 et B6 = Accueil A6 et B6 vide A7 et B7 vide A8 = 902000 et B8 = Information ainsi de suite
Je veux une formule qui lise la cellule si elle est vide qu'elle passe à celle juste en dessous et dès qu'elle trouve une cellule remplie (Par Ex.
A5)
qu'elle recopie cette cellule dans la vide.
Merci d'avance
J'ai oublié de faire monter les éléments de la colonne B:
Correction.
Sub Supprimer_les_cellules_vides_Colonnes_A_et_B()
NbreDeVides = 0
NumeroCombler = 0
ReDim LignesVides(NbreDeVides)
For Each c In Range("A1:A" & Range("A65536").End(xlUp).Row)
If c = 0 And c.Offset(0, 1) = 0 Then
NbreDeVides = NbreDeVides + 1
ReDim Preserve LignesVides(NbreDeVides)
LignesVides(NbreDeVides) = c.Address
Else
If NbreDeVides > NumeroCombler Then
NumeroCombler = NumeroCombler + 1
Range(LignesVides(NumeroCombler)) = c.Value
Range(LignesVides(NumeroCombler)).Offset(0, 1) = c.Offset(0, 1).Value
c.Value = ""
c.Offset(0, 1).Value = ""
NbreDeVides = NbreDeVides + 1
ReDim Preserve LignesVides(NbreDeVides)
LignesVides(NbreDeVides) = c.Address
End If
End If
Next
End Sub
"docm" <docmarti@spamcolba.net> a écrit dans le message news:
#Z9DD9ZuFHA.2008@TK2MSFTNGP10.phx.gbl...
Bonjour Benoît
Si tu veux ne laisser aucune ligne vide en colonnes A et B:
Sub Supprimer_les_cellules_vides_Colonnes_A_et_B()
NbreDeVides = 0
NumeroCombler = 0
ReDim LignesVides(NbreDeVides)
For Each c In Range("A1:A" & Range("A65536").End(xlUp).Row)
If c = 0 And c.Offset(0, 1) = 0 Then
NbreDeVides = NbreDeVides + 1
ReDim Preserve LignesVides(NbreDeVides)
LignesVides(NbreDeVides) = c.Address
Else
If NbreDeVides > NumeroCombler Then
NumeroCombler = NumeroCombler + 1
Range(LignesVides(NumeroCombler)) = c.Value
c.Value = ""
NbreDeVides = NbreDeVides + 1
ReDim Preserve LignesVides(NbreDeVides)
LignesVides(NbreDeVides) = c.Address
End If
End If
Next
End Sub
docm
"Benoît" <Benot@discussions.microsoft.com> a écrit dans le message news:
061978F6-FFC9-40DF-86DA-C470353EEB64@microsoft.com...
Je n'arrive pas à remplir des cellules vides à partir de données qui se
trouvent dans des cellules en dessous.
A1 et B1 vide
A2 et B2 vide
A3 et B3 vide
A4 et B4 vide
A5 = 901000 et B6 = Accueil
A6 et B6 vide
A7 et B7 vide
A8 = 902000 et B8 = Information
ainsi de suite
Je veux une formule qui lise la cellule si elle est vide qu'elle passe à
celle juste en dessous et dès qu'elle trouve une cellule remplie (Par
Ex.
J'ai oublié de faire monter les éléments de la colonne B: Correction.
Sub Supprimer_les_cellules_vides_Colonnes_A_et_B() NbreDeVides = 0 NumeroCombler = 0 ReDim LignesVides(NbreDeVides) For Each c In Range("A1:A" & Range("A65536").End(xlUp).Row) If c = 0 And c.Offset(0, 1) = 0 Then
NbreDeVides = NbreDeVides + 1 ReDim Preserve LignesVides(NbreDeVides) LignesVides(NbreDeVides) = c.Address Else If NbreDeVides > NumeroCombler Then NumeroCombler = NumeroCombler + 1 Range(LignesVides(NumeroCombler)) = c.Value Range(LignesVides(NumeroCombler)).Offset(0, 1) = c.Offset(0, 1).Value c.Value = "" c.Offset(0, 1).Value = "" NbreDeVides = NbreDeVides + 1 ReDim Preserve LignesVides(NbreDeVides) LignesVides(NbreDeVides) = c.Address End If End If Next End Sub
"docm" a écrit dans le message news: #
Bonjour Benoît
Si tu veux ne laisser aucune ligne vide en colonnes A et B:
Sub Supprimer_les_cellules_vides_Colonnes_A_et_B() NbreDeVides = 0 NumeroCombler = 0 ReDim LignesVides(NbreDeVides) For Each c In Range("A1:A" & Range("A65536").End(xlUp).Row) If c = 0 And c.Offset(0, 1) = 0 Then NbreDeVides = NbreDeVides + 1 ReDim Preserve LignesVides(NbreDeVides) LignesVides(NbreDeVides) = c.Address Else If NbreDeVides > NumeroCombler Then NumeroCombler = NumeroCombler + 1 Range(LignesVides(NumeroCombler)) = c.Value c.Value = "" NbreDeVides = NbreDeVides + 1 ReDim Preserve LignesVides(NbreDeVides) LignesVides(NbreDeVides) = c.Address End If End If Next End Sub
docm
"Benoît" a écrit dans le message news:
Je n'arrive pas à remplir des cellules vides à partir de données qui se trouvent dans des cellules en dessous.
A1 et B1 vide A2 et B2 vide A3 et B3 vide A4 et B4 vide A5 = 901000 et B6 = Accueil A6 et B6 vide A7 et B7 vide A8 = 902000 et B8 = Information ainsi de suite
Je veux une formule qui lise la cellule si elle est vide qu'elle passe à celle juste en dessous et dès qu'elle trouve une cellule remplie (Par Ex.