Supprimer contenu cellule selon autre cellule
meaurysse
Messages postés
66
Date d'inscription
Statut
Membre
Dernière intervention
-
ccm81 Messages postés 10909 Date d'inscription Statut Membre Dernière intervention -
ccm81 Messages postés 10909 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Sur Excel j'essaie de créer une macro qui permet d'analyser une valeur d'une cellule et qui en fonction de sa valeur, supprime le contenu d'une autre cellule. Jusqu'à là pas trop de soucis, un simple "IF range("L5") < 1 then range("Q5") = " " ..... Cependant j'aimerai appliquer cette formule à tout un tableau entier sans devoir écrire l'analyse pour chaque ligne indépendamment ...
Donc éviter de devoir faire :
If Range("L5") < 1 Then
Range("Q5") = ""
End If
If Range("L6") < 1 Then
Range("Q6") = ""
End If
If Range("L7") < 1 Then
Range("Q7") = ""
End If
etc...
Dans mon tableau exemple il n'y a que 11 lignes mais le but serait d'appliquer ça ensuite à un tableau bien plus grand (environ 1000 à 2000 lignes)
Est-ce qu'il y a une solution qui analyse pour toutes les lignes de la plage définie qui dès qu'il y a une valeur dans le contenu de cette plage, qui pour la ligne correspondante supprime la donnée dans colonne "Q" ?
Soit : "Si dans plage "L5:L15" il y a une valeur < 1 alors la ligne correspondante en colonne "Q" = ""
sachant que dans "L5: L15" il peut y avoir plusieurs cellules concernées en même temps.
Je connais déjà la formule range("Q" & (activecell.row)) = "" mais cela s'applique uniquement sur la ligne "actuellement sélectionnée"..
Comment faire pour que l'analyse s'applique à l'entier de la plage souhaitée ?
Merci d'avance de vos réponses à cette question.
Sur Excel j'essaie de créer une macro qui permet d'analyser une valeur d'une cellule et qui en fonction de sa valeur, supprime le contenu d'une autre cellule. Jusqu'à là pas trop de soucis, un simple "IF range("L5") < 1 then range("Q5") = " " ..... Cependant j'aimerai appliquer cette formule à tout un tableau entier sans devoir écrire l'analyse pour chaque ligne indépendamment ...
Donc éviter de devoir faire :
If Range("L5") < 1 Then
Range("Q5") = ""
End If
If Range("L6") < 1 Then
Range("Q6") = ""
End If
If Range("L7") < 1 Then
Range("Q7") = ""
End If
etc...
Dans mon tableau exemple il n'y a que 11 lignes mais le but serait d'appliquer ça ensuite à un tableau bien plus grand (environ 1000 à 2000 lignes)
Est-ce qu'il y a une solution qui analyse pour toutes les lignes de la plage définie qui dès qu'il y a une valeur dans le contenu de cette plage, qui pour la ligne correspondante supprime la donnée dans colonne "Q" ?
Soit : "Si dans plage "L5:L15" il y a une valeur < 1 alors la ligne correspondante en colonne "Q" = ""
sachant que dans "L5: L15" il peut y avoir plusieurs cellules concernées en même temps.
Je connais déjà la formule range("Q" & (activecell.row)) = "" mais cela s'applique uniquement sur la ligne "actuellement sélectionnée"..
Comment faire pour que l'analyse s'applique à l'entier de la plage souhaitée ?
Merci d'avance de vos réponses à cette question.
A voir également:
- Supprimer contenu cellule selon autre cellule
- Supprimer rond bleu whatsapp - Guide
- Excel cellule couleur si condition texte - Guide
- Proteger cellule excel - Guide
- Aller à la ligne dans une cellule excel - Guide
- Supprimer page word - Guide
4 réponses
Bonjour
Cdlmnt
Const lideb = 5 Sub ok() Dim li As Long, lifin As Long lifin = Range("L" & Rows.Count).End(xlUp).Row For li = lideb To lifin If Range("L" & li).Value < 1 Then Range("Q" & li).Value = "" Next li End Sub
Cdlmnt
Tu ne dis pas sur quelle ligne se produit l'erreur
Peut être un pb d'accès à une feuille
Le fichier
https://www.cjoint.com/c/HHvlWxsUGqB
Cdlmnt
Peut être un pb d'accès à une feuille
Le fichier
https://www.cjoint.com/c/HHvlWxsUGqB
Cdlmnt
Voilà le lien de mon fichier "exemple" pour 11 lignes
https://www.cjoint.com/c/HHvneuOYxFw
(Il faut l'enregistrer avant d'ouvrir car comme c'est un XLSM l'explorateur risque de trouver une erreur) - firefox
https://www.cjoint.com/c/HHvneuOYxFw
(Il faut l'enregistrer avant d'ouvrir car comme c'est un XLSM l'explorateur risque de trouver une erreur) - firefox
"Erreur d'exécution '1004':
La méthode 'Range' de l'objet '_Global' a échoué"