Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.
  • Initiateur de la discussion Initiateur de la discussion al1000
  • Date de début Date de début

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 !

al1000

XLDnaute Impliqué
Bonjour,

j'ai dans la colonne "A" des noms et dans la colonne "B" soit 0 ou 1 en fonction du résultat de la formule.


Je recherche une macro quand je la lance par un bouton:

======== elle efface les noms dans la colonne "A"

Merci de votre aide

A+
 
Re : maccro efface

Bonjour à tous,


J'avais commencé un code avec un For Each cel.... mais j'ai préféré faire une boucle et j'ai oublié de supprimer cette déclaration.

A+
 
Re : maccro efface

bonsoir


comment modifier la macro afin d'avoir le chiffre 1 ou 0 dans la colonne f et les noms dans la colonne C?

pourquoi avoir cela en debut de la macro?
Option Explicit
Dim i As Integer
Dim cel As Range
A+
 
Re : maccro efface

Bonjour,
Sub Del()
Dim i As Integer 'declaration de la variable
Application.ScreenUpdating = False
For i = 4 To Range("A65536").End(xlUp).Row
cells(i,6).value=cells(i,2).value
cells(i,3).value=cells(i,1).value
If Cells(i, 2) = 1 Then Cells(i, 1).ClearContents
Next
End Sub

A+ François
 
Re : maccro efface

Bonjour à tous,*
Salut Fanfan,

J'ai compris différemment

Remplace le code de la Sub Del() par :

Code:
Option Explicit
Dim i As Integer
Sub Del()
Application.ScreenUpdating = False
For i = 4 To Range("C65536").End(xlUp).Row
    If Cells(i, 6) = 1 Then Cells(i, 3).ClearContents
Next
End Sub

Option Explicit : Oblige à Déclarer les Variables

Dim i As Integer : valeur est comprise entre -32 768 et 32 767

Sub Del()
Application.ScreenUpdating = False : Masque les actions à l'écran

For i = 4 To Range("C65536").End(xlUp).Row : de la ligne 4 à la dernière cellulle non vide de la colonne C

If Cells(i, 6) = 1 Then Cells(i, 3).ClearContents : Si F4 = 1 alors effacer C4 (Cells (4,6) = cellule de la ligne 4 et de la colonne 6 donc F4

Next : ligne suivante
End Sub

A+

Edition : Salut Lii, deux explications valent mieux qu'une dépose de code sans commentaires A++
 
Dernière édition:
Re : maccro efface

Bonjour,

Si JCGL le permet, puisque c'est fait ...

Il est conseillé de déclarer ses variables : on repère plus facilement des
erreurs qui leur sont dues quand il y en a.
On peut rendre cela obligatoire : dans l'éditeur, Outils, Options et cocher "Déclaration des variables obligatoire".
Cela provoquera l'affichage dans chaque module de l'expression "Option Explicit"

J'ai pris aussi l'habitude de mettre la lettre ou l'initiale d'une variable en majuscule : on repère plus facilement des erreurs qui leur sont dues lors de la compilation automatique.

Autre interprétation de ta demande : les 0 et 1 sont déjà en colonne F et les noms en colonne C.
Code:
Sub Del()
Dim I As Integer 'si le nombre de lignes est inférieur à 32467, si plus choisir LongApplication.ScreenUpdating = False
  For I = 4 To Range("F65536").End(xlUp).Row
    If Range("F" & I) = 1 Then Range("C" & I).ClearContents
  Next
End Sub

Remarque : Range("F" & I) peut être remplacé par Cells(I,6) la colonne F étant la sixième (ordre alphabétique).
 
- 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

Réponses
18
Affichages
728
Réponses
18
Affichages
601
  • Question Question
Microsoft 365 Fusion de cellules
Réponses
5
Affichages
177
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…