Effacer le contenu premières cellules vides

Résolu
rvz Messages postés 35 Statut Membre -  
rvz Messages postés 35 Statut Membre -
Bonjour,

Je cherche à effacer le contenu des cellules vides de la colonne b (c'est à dire le résultat d'une formule qui donne "") en commencant uniquement par la première cellule vide qui n'est pas suivi par des cellules donnant des résultats de cette colonne avec une macro ???

Je suis embourbé.Aidez moi svp !!

Merci d'avance

Hervé

6 réponses

  1. Papou93 Messages postés 146 Date d'inscription   Statut Membre Dernière intervention   59
     
    Bonjour rvz,

    Je n'ai pas tout compris ce que tu cherches, cependant je te propose la macro suivante :

    For Each cel In Range("B:B")
      If cel.Formula <> "" And cel.Value = 0 Then cel.Clear
    Next


    Ce code analyse chaque cellule de la colonne "B:B". Si la cellule contient une formule et si le résultat est égal à 0, alors on efface la formule (il n'est pas possible de tester si la cellule ="" puisqu'elle contient une formule).

    Par contre, cette macro effacera toutes les formules dont le résultat est nul, et ce à partir de la lign N°1.

    Si ce n'est pas ce que tu cherches, alors n'hésites pas à relancer en essayant d'être plus précis.

    Cordialement.
    0
  2. rvz Messages postés 35 Statut Membre
     
    Bonjour et merci pour cette première approche,c'est sympa.

    Mais comment faire pour qu'elle commence à la première ligne vide d'un tableau contenant des formules sachant qu'il existe dans ce tableau des lignes vides dans les premières pour faire beau ;-) ??
    A la limite,si c'est trop compliqué,je peux mettre une info dans ces premières lignes pour qu'elles ne soient plus vide car je ne veux pas non plus vous faire perdre trop de temps sur mon cas.
    En tous cas,c'est super sympa d'avoir répondu à mon SOS.J'espère un jour à charge de revanche quoiqu'en programmation j'ai l'impression de n'être qu'un débutant face à vous !!!

    Sinon,j'ai un autre "petit" problême :
    Je sais faire une recherchev en macro mais comment faire pour que toute la ligne où le résultat se trouve se recopie dans la ligne que je veux :

    Sub recherche
    recherche = Range("recherche!C8 ") 'mot à rechercher"
    range("Recherche!C:C")=""
    n = 384 'nombre de lignes à traîter
    j = 15
    For i = 4 To n
    If Range("Expo!B" & i) = recherche Then
    Range("Recherche!C" & j) = Range("Expo!G" & i)
    j = j + 1
    End If
    Next
    End Sub

    Voilà,mais si jamais,encore merci

    Hervé
    0
  3. rvz Messages postés 35 Statut Membre
     
    La formule fonctionne mais elle n'élimine pas les cellules où il y'a une formule dont le résultat est ""
    0
  4. Papou93 Messages postés 146 Date d'inscription   Statut Membre Dernière intervention   59
     
    Bonjour rvz,

    Je crois que j'ai mal interprété ta question :
    Lorsque tu écris "Je cherche à effacer le contenu des cellules vides de la colonne b...", je crois comprendre maintenant qu'en fait tu veux supprimer ces lignes. Dans ce cas, voici le code adéquat :

    For Each cel In Range("B:B")
      If cel.Formula <> "" And cel.Value = 0 Then cel.EntireRow.Delete
    Next


    Par ailleurs, cette macro n'efface pas les 1ères lignes vides, puisque le test détermine la présence d'une formule. J'ai vérifié, c'est bien le cas !

    Quant à ta dernière question, essaies de cette façon :

    Sub recherche 
    recherche = Range("recherche!C8 ") 'mot à rechercher" 
    range("Recherche!C:C")="" 
    n = 384 'nombre de lignes à traîter 
    j = 15 
    For i = 4 To n 
    If Range("Expo!B" & i) = recherche Then 
    Range("Expo!G" & i).Copy
    Range("Recherche!C" & j).select
    ActiveSheet.Paste
    Application.CutCopyMode = False
    j = j + 1 
    End If 
    Next 
    End Sub 


    Espérant n'être pas à côté cette fois.

    Cordialement.
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. Papoux123 Messages postés 286 Statut Membre 42
     
    Est-ce que quelqu'un sait comment effacer toutes les lignes vides dans exel pour regroupper les lignes qui ont du textes. On peut se fier à la colonne A pour l'effacement des lignes vides car si j'ai du texte dans cette colonne, je dois garder cette ligne et si je n'ai rien dans une ligne de la colonne A, je dois effacer la ligne complètement.

    Merci a celle ou celui qui me donnera un coup de main
    0
  7. rvz Messages postés 35 Statut Membre
     
    Bonsoir,
    Désolé de n'avoir pu répondre plus tôt mais travail oblige et ce fut laborieux.
    Je vais tester ces formules.
    Mais j'aimerais vous remercier de l'aide que vous m'apportez dans la compréhension des macros.
    J'espère un jour pouvoir rendre à d'autres.

    Encore merci et je vous souhaite de joyeuses fêtes de fin d'année.

    Cordialement

    Hervé
    0