VBA: problème dans une boucle

  • Initiateur de la discussion Initiateur de la discussion willnet
  • 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 !

willnet

XLDnaute Nouveau
Bonjour,

je suis débutant en VBA et bloque sur une boucle, j'ai essayé différentes méthodes mais je ne trouve rien qui m'indique comment faire.

Je souhaite supprimer une ligne et à la suite de ça enlever 1 à toutes les valeurs de la colone A se trouvant sous cette ligne, jusqu'à ce que les lignes soient vides.
Il est important que les lignes vides ne se voient pas attribuer -1 dans la cellule de la colonne A.

Voici mon morceau de code:

X = Sheets("modifier").Range("D4").Value + 2
Sheets("donnees").Range(X & ":" & X).Delete xlUp

Do
Dim i As Integer
For i = X To 247
If Sheets("donnees").Range("A" & i).Value <> "" Then
Sheets("donnees").Range("A" & i).Value = Sheets("donnees").Range("A" & i).Value - 1
Next i
End If

Merci d'avance pour votre aide.

Willnet
 
Re : VBA: problème dans une boucle

Bonjour

Tu avais un peu de mélange dans ton code
un Next i après un If
Un Do sans Loop

A voir

VB:
Sub test()
Dim I As Integer
Dim X As Byte

  X = Sheets("modifier").Range("D4").Value + 2
  With Sheets("donnees")
    .Rows(X).Delete shift:=xlShiftUp
    For I = X To 247
      If .Range("A" & I).Value <> "" Then
        .Range("A" & I).Value = .Range("A" & I).Value - 1
      End If
    Next I
  End With
End Sub
 
- 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
4
Affichages
480
Retour