Microsoft 365 Effacer le contenu de cellules si une autre cellule est vide

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Olihoes

XLDnaute Nouveau
Bonjour à tous,

Je suis débutant en Excel et je n'arrive pas à trouver ce que je recherche vraiment sur le forum.

J'ai un tableau contenant des colonnes de D à Q (1 colonne par véhicule) dans lequel chaque jour de l'année est divisé en 3 lignes :
La première contient le nombre de litre que le chauffeur à pris, la seconde l'heure et la troisième le nom du chauffeur.

J'aimerai un bouton qui fasse en sorte que quand la cellule contenant le nombre de litres est vide les 2 cellules du dessous (heure et nom) se vident aussi.
(Pour qu'il ne reste donc au final dans mon tableau que le contenu des cellules des jours où le chauffeur a fait son plein avec l'heure et son nom)

Je vous joins mon début de tableau dans lequel j'ai juste indiqué des litres pour le début de l'année pour pouvoir tester.

J'espère ne pas avoir été trop brouillon dans mon explication…


Merci d'avance.

Olivier
 

Pièces jointes

Solution
Bonjour Olihoes, et bienvenu sur XLD, bonjour Phil,
Un essai en PJ avec cette macro :
VB:
Sub Nettoyage()
Dim L%, C%, Tablo
Application.ScreenUpdating = False
Tablo = Range("A9:Q" & 2 + [A10000].End(xlUp).Row)
For L = 1 To UBound(Tablo) Step 3
    For C = 4 To UBound(Tablo, 2)
        If Tablo(L, C) = "" Then
            Tablo(L + 1, C) = ""
            Tablo(L + 2, C) = ""
        End If
    Next C
Next L
[A9].Resize(UBound(Tablo, 1), UBound(Tablo, 2)) = Tablo
End Sub
Bonjour @Olihoes et bienvenu sur XLD

J'espère ne pas avoir été trop brouillon dans mon explication…
Perdu .....

Les heures dans ton fichier sont générées aléatoirement et en plus elle change à chaque changement d'une cellule de la feuille cela n'a aucun sens pour moi alors explique le concept ?????
Quelle est l’intérêt de faire comme cela ?

Et si l'heure n'a pas d'importance autant s'en passer et de mettre quelque comme chose genre "Plein fait" à la place.
 
Bonjour Olihoes, et bienvenu sur XLD, bonjour Phil,
Un essai en PJ avec cette macro :
VB:
Sub Nettoyage()
Dim L%, C%, Tablo
Application.ScreenUpdating = False
Tablo = Range("A9:Q" & 2 + [A10000].End(xlUp).Row)
For L = 1 To UBound(Tablo) Step 3
    For C = 4 To UBound(Tablo, 2)
        If Tablo(L, C) = "" Then
            Tablo(L + 1, C) = ""
            Tablo(L + 2, C) = ""
        End If
    Next C
Next L
[A9].Resize(UBound(Tablo, 1), UBound(Tablo, 2)) = Tablo
End Sub
 

Pièces jointes

Un grand merci Sylvanu, cela semble fonctionner parfaitement 🙂

Et Phil69970 oui je sais que cela semble bizarre mes heures qui changent aléatoirement mais en fait je dois faire des tableau pour des années précédentes où les chauffeurs n'indiquaient pas l'heure donc j'invente un peu 🙂


Merci pour votre aide super rapide 🙂

 
Bonjour Olihoes,
Voici une proposition.
J'ai ajouté en colonne AA un comptage des lignes du tableau que j'utilise dans le VBA.
Le VBA est documenté et est facile à comprendre.
Tu cliques sur le bouton pour lancer le VBA
Le nettoyage a été fait donc pour tester il faut réintroduire des données.
Bonne continuation
Chris
 

Pièces jointes

Bonjour Olihoes,
Voici une proposition.
J'ai ajouté en colonne AA un comptage des lignes du tableau que j'utilise dans le VBA.
Le VBA est documenté et est facile à comprendre.
Tu cliques sur le bouton pour lancer le VBA
Le nettoyage a été fait donc pour tester il faut réintroduire des données.
Bonne continuation
Chris
Merci également pour ta réponse qui semble fonctionner elle aussi 👍
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Retour