[Résolu par Hieu] clearcontents ds tableau : pb sur choix colonnes (déf. champ de la variable)

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 !

zebanx

XLDnaute Accro
Bonsoir à tous,

Je souhaiterai faire un clear contents sur un tableau :
- en choisissant les colonnes concernées par le clearcontents (variable "j")
- en effectuant une boucle sur la colonne "B" pour lancer le clearcontents.

Je n'arrive pas à définir ma boucle pour le faire travailler sur les colonnes 1,3, 4 et 9.
Le fichier est beaucoup plus explicite.

Mon code bug déjà sur la définition de la variable et j'aurais svp besoin de votre aide pour le modifier
(array ??).

Vous en remerciant par avance, bonne soirée
zebanx

------
Sub mef()

Dim i As Integer, derligne
Dim j As Integer
Dim n As Long

derligne = Range("B3").End(xlDown).Row

j = {1, 3, 4, 9} 'bug déjà ici

derligne = Range("B3").End(xlDown).Row

For n = 1 To UBound(j)
For i = derligne To 3 Step -1
If Cells(i, 2).Value = Cells(i - 1, 2).Value Then
Cells(i, n).ClearContents
End If
Next i
Next n

End Sub
 

Pièces jointes

Dernière édition:
Salut,

Tu définies j comme étant un integer, puis tu fais "quelque chose" d'autre ^^
Perso, je ne définie pas, et ça marche bien.

J'ai rajouté une valeur bidon, dans le tableau j, car lorsque tu ne définies pas, il fait un tableau de 0 à ... (ici, dim j as tab(0 to 4))

Reviens vers moi, si ce n'est pas clair
VB:
Sub mef()

Dim i As Integer, derligne
' Dim j As Integer
Dim n As Long

' derligne = Range("B3").End(xlDown).Row

j = Array(0, 1, 3, 4, 9) ' ici une petite modif

derligne = Range("B3").End(xlDown).Row

For n = 1 To UBound(j)
For i = derligne To 3 Step -1
If Cells(i, 2).Value = Cells(i - 1, 2).Value Then
Cells(i, j(n)).ClearContents ' ici une petite modif
End If

Next i
Next n

End Sub
 
Bonjour Hieu,

Je te remercie pour toutes ces précisions, et le rendu est impeccable.
C'est clair sur toutes les parties du codes (dim (), définition de la variable y compris le 0*, définition "j(n)").

Très content de tes corrections 🙂.

Bonne soirée,
zebanx
-----
ou sinon ce que j'avais vu sur un autre code avec du texte sans tout comprendre et tes modifications m'ont permis de mieux comprendre
j= Array(1, 3, 4, 9) ' démarrage possible sans le 0 si on corrige en dessous
....
For n = 0 To UBound(j)
 
- 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
5
Affichages
235
Réponses
4
Affichages
177
Réponses
9
Affichages
580
Retour