Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Macro : Aide sur cette ligne qui bloque

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

roidurif

XLDnaute Occasionnel
Bonjour,

Je bloque sur cette macro, car je souhaite obtenir en resultat les numéros de cellues des champs obligatoire non renseigné" en colonne M de la feuil2.
J'ai donc indiqué
Code:
 Range("M65586").End(xlUp)
, mais la macro se bloque au niveau de cette ligne

Code:
Sheets("Feuil2").Range("M65586").End(xlUp).Offset(1).Value = .Range(Colonne(i) & NumClient.Row).Address(REF_ABS, REF_ABS)

Voici le code entier :

Code:
Sheets("Feuil2").Range("M12:M65536").ClearContents
Dim Colonne(), NumClient As Range, i As Long
Colonne = Array("C", "D", "E", "AB", "AC", "BA", "AH", "AI", "AW", "AX", "BB", "BC") 'Colonnes obligatoires
With Sheets("catalogue")
For Each NumClient In .Range("A2", .[A65536].End(xlUp)).SpecialCells(xlCellTypeConstants)
For i = 0 To 11
If i = 0 And CStr(.Range("C" & NumClient.Row)) = CStr(.Range("C" & NumClient.Row - 1)) And .Range("C" & NumClient.Row) <> "" Then i = 7
If .Range(Colonne(i) & NumClient.Row) = "" Then _
Sheets("Feuil2").Range("M65586").End(xlUp).Offset(1).Value = .Range(Colonne(i) & NumClient.Row).Address(REF_ABS, REF_ABS)
If .Range("B" & NumClient.Row) = "S" Then Exit For 
Next
End With
End Sub

je sais pas comment faire

merci de votre aide
 
Dernière édition:
Re : Macro : Aide sur cette ligne qui bloque

Bonjour roidurif, bonjour à toutes et à tous 🙂

Je n'ai pas décortiqué ton code, mais j'ai une erreur du type For sans Next :

Code:
[COLOR="Blue"]Sub[/COLOR] toto()
[COLOR="Green"]'[/COLOR]
[COLOR="blue"]Dim[/COLOR] Colonne(), NumClient [COLOR="blue"]As[/COLOR] Range, i [COLOR="blue"]As Long[/COLOR]
[COLOR="green"]'[/COLOR]
  Sheets("Feuil2").Range("M12:M65536").ClearContents
  
  [COLOR="green"]'Colonnes obligatoires[/COLOR]
  Colonne = Array("C", "D", "E", "AB", "AC", "BA", "AH", "AI", "AW", "AX", "BB", "BC")
  
  [COLOR="blue"]With[/COLOR] Sheets("catalogue")
    [COLOR="blue"]For Each[/COLOR] NumClient In .Range("A2", .[A65536].End(xlUp)).SpecialCells(xlCellTypeConstants)
      [COLOR="blue"]For[/COLOR] i = 0 To 11
        [COLOR="blue"]If[/COLOR] i = 0 And CStr(.Range("C" & NumClient.Row)) = CStr(.Range("C" & NumClient.Row - 1)) _
            [COLOR="blue"]And[/COLOR] .Range("C" & NumClient.Row) <> "" [COLOR="blue"]Then[/COLOR]
          i = 7
        [COLOR="blue"]End If[/COLOR]
        [COLOR="blue"]If[/COLOR] .Range(Colonne(i) & NumClient.Row) = "" [COLOR="blue"]Then[/COLOR]
          Sheets("Feuil2").Range("M65586").End(xlUp).Offset(1).Value = _
              .Range(Colonne(i) & NumClient.Row).Address(REF_ABS, REF_ABS)
        [COLOR="blue"]End If[/COLOR]
        [COLOR="blue"]If[/COLOR] .Range("B" & NumClient.Row) = "S" [COLOR="blue"]Then[/COLOR]
          [COLOR="blue"]Exit For[/COLOR]
        [COLOR="blue"]End If[/COLOR]
      [B][I][COLOR="blue"]Next[/COLOR] i[/I][/B]
    [COLOR="blue"]Next[/COLOR] [COLOR="green"]'For Each NumClient In .Range("A2", .[A65536].End(xlUp)). _
         SpecialCells(xlCellTypeConstants)[/COLOR]
  [COLOR="blue"]End With[/COLOR]
[COLOR="blue"]End Sub[/COLOR]

Je n'ai pas regardé plus lolin. Tiens-nous au courant 🙂

@+
 
Re : Macro : Aide sur cette ligne qui bloque

re,

J'ai toujours ce blocage sur cette ligne,
Code:
Sheets("Feuil2").Range("M65586").End(xlUp).Offset(1).Value = .Range(Colonne(i) & NumClient.Row).Address(REF_ABS, REF_ABS)

Merci de l'aide
 
Re : Macro : Aide sur cette ligne qui bloque

Re,

re,

J'ai toujours ce blocage sur cette ligne,
Code:
Sheets("Feuil2").Range("M65586").End(xlUp).Offset(1).Value = .Range(Colonne(i) & NumClient.Row).Address(REF_ABS, REF_ABS)

Et si tu essayais :

Code:
Sheets("Feuil2").Range("M65586").End(xlUp).Offset(1).Value = .Range(Colonne(i) & NumClient.Row)

tout simplement.

@+
 
Re : Macro : Aide sur cette ligne qui bloque

Re,



Non ca ne fonctionne pas, toujours pareil avec ta proposition
Code:
Sheets("Feuil2").Range("M65586").End(xlUp).Offset(1).Value = .Range(Colonne(i) & NumClient.Row)

Cordialement
 
Re : Macro : Aide sur cette ligne qui bloque

Je joins mon fichier c'est peut etre mieux,

la macro est dans le module 2, il y'en a 2 qui pose le meme probleme.

Cordialement
 
Dernière édition:
- 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
674
Réponses
8
Affichages
255
Réponses
4
Affichages
528
Réponses
4
Affichages
657
Réponses
8
Affichages
634
  • Question Question
Microsoft 365 worksheet_change
Réponses
29
Affichages
975
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…