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

DRILL

XLDnaute Occasionnel
Bonjour a tous,

Ci-joint un fichier test avec une macro "lookin"
J'aimerai la modifier comme suit:

En colonne C de la feuille 'Print Labels'; si = N/A ou Vide le &"-"& entre les valeur n'apparaisse pas. Si N/A = Vide

exemple resultat de la ligne 5 = TR3-L au lieu de TR3-L---
exemple resultat de la ligne 6 = TR3-L au lieu de TR3-L-N/A-N/A-N/A


Slts
DRILL
 

Pièces jointes

Re : Modif de Macro

Bonjour

à essayer

Code:
Sub Bulk()
Dim I As Long
Dim ShL As Worksheet
Dim Cel As Range
Dim Cl As Integer
Dim Depart As String
Set ShL = Sheets("IMP")
  With Sheets("Print Labels")
    For I = 2 To .Range("A65536").End(xlUp).Row
      Set Cel = ShL.Columns("D:D").Find(.Range("A" & I), LookIn:=xlValues, Lookat:=xlWhole)
      If Not Cel Is Nothing Then
      If ShL.Range("J" & Cel.Row) = "" Or ShL.Range("J" & Cel.Row) = "N/A" Then
      val1 = ""
      Else
      val1 = ShL.Range("J" & Cel.Row) & "-"
      End If
      If ShL.Range("M" & Cel.Row) = "" Or ShL.Range("M" & Cel.Row) = "N/A" Then
      val1 = Left(val1, Len(val1) - 1)
      val2 = ""
      Else
      val2 = ShL.Range("M" & Cel.Row) & "-"
      End If
      If ShL.Range("N" & Cel.Row) = "" Or ShL.Range("N" & Cel.Row) = "N/A" Then
      If val2 <> "" Then val2 = Left(val2, Len(val2) - 1)
      val3 = ""
      Else
      val3 = ShL.Range("N" & Cel.Row)
      End If
'MsgBox val1 + val2 + val3
      .Range("C" & I) = val1 + val2 + val3
      
        '.Range("C" & I) = ShL.Range("J" & Cel.Row) & "-" & ShL.Range("L" & Cel.Row) & "-" & ShL.Range("M" & Cel.Row) & "-" & ShL.Range("N" & Cel.Row)
        
      End If
    Next I
  End With
End Sub
 
Re : Modif de Macro

Gilbert,

Help..

J'ai transpose la macro sur un autre fichier et j'ai un bug sur le ligne suivante:

val1 = Left(val1, Len(val1) - 1)

je me suis peut etre plante lors des correspondance de lignes.... je creuse mais ne trouve pas le pourquoi.

Fichier attache..

Merci pour ton aide.
Slts
DRILL
 

Pièces jointes

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
4
Affichages
568
Réponses
7
Affichages
695
  • Question Question
Microsoft 365 Traitement
Réponses
7
Affichages
263
Réponses
8
Affichages
785
Retour