Empêcher l'exécution de la suite de la macro

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 !

Elodie195

XLDnaute Occasionnel
Bonjour,

j'aimerais avoir une petite précision pour ma macro.

Ma macro a pour but de créer un fichier texte lorsqu'on clique sur le bouton.

Cela s'appuie sur un tableau avec dans la colonne A des valeurs numériques et les cellules vides sont automatiquement remplis par le mot "VIDE"

Lorsque l'on clique sur le bouton cela créer un fichier texte par ligne ou la cellule en A est numérique.

Par contre, quand il y a "VIDE" cela me créer quand même un fichier texte ce que je ne souhaite pas.

J'aimerais savoir quelle ligne de commande dois je rajouter à ma macro ?

Une sorte de :
SI la VALEUR en colonne A est égale à "VIDE", la suite de la macro ne s’exécute pas et cela ne créer pas le fichier texte.
Je n'arrive pas à trouver comment faire.

Merci d'avance à qui pourra m'aider.

Elodie.
 
Re : Empêcher l'exécution de la suite de la macro

Bonsoir kjin,

voici la macro :

Code:
Sub Exporter()
  Dim DossierFichierExcel As String
  Dim NomFichierCSV As String
  Dim ChaineTemp As String
  Dim Separateur As String
  Dim intNumeroFichier As Integer
  Dim strReference     As String
  Dim intColonne       As Integer
  Dim intPremiereLigne As Integer
  Dim intDerniereLigne As Integer
  Dim intIndexLigne    As Integer
 

 
  ' 2 - Création des fichiers .CSV

ICI : CREER LE CSV SEULEMENT SI LA VALEUR EN COLONNE A EST DIFFERENTE DE LA VALEUR "VIDE1" en format standard
  '
  DossierFichierExcel = ActiveWorkbook.Path
  Separateur = ";"
  intNumeroFichier = 1
  strReference = ""
  intPremiereLigne = 71
  intDerniereLigne = Cells(intPremiereLigne, 1).End(xlDown).Row
  For intIndexLigne = intPremiereLigne To intDerniereLigne
    If strReference = "" Then
      '

      '
      NomFichierCSV = Range("A1").Value
      NomFichierCSV = NomFichierCSV & intNumeroFichier & ".CSV"
      intNumeroFichier = intNumeroFichier + 1
      Open DossierFichierExcel & "\" & NomFichierCSV For Output As #1
      Print #1, "FICHIER 5.50 - GRP"
      Print #1, "NUM;" & Cells(intIndexLigne, 1) & ";"
    ElseIf Cells(intIndexLigne, 1) <> strReference Then
      '
    
      Print #1, "FIN" & Separateur & Separateur & Separateur
      Close
      

      NomFichierCSV = Range("A1").Value
      NomFichierCSV = NomFichierCSV & intNumeroFichier & ".CSV"
      intNumeroFichier = intNumeroFichier + 1
      Open DossierFichierExcel & "\" & NomFichierCSV For Output As #1
      Print #1, "FICHIER 5.50 - GRP"
      Print #1, "NUM;" & Cells(intIndexLigne, 1) & ";"
    End If
    '
 
    ChaineTemp = ""
    For intColonne = 2 To 11
      ChaineTemp = ChaineTemp & Cells(intIndexLigne, intColonne) & Separateur
    Next
    Print #1, ChaineTemp
    '
    strReference = Cells(intIndexLigne, 1)
  Next
  '

  Print #1, "FIN" & Separateur & Separateur & Separateur
  Close
 
End Sub

je voudrais empecher la creation du fichier CSV si la valeur en colonne A est égale à "VIDE1"
 
Re : Empêcher l'exécution de la suite de la macro

Bonsoir Elodie, kjin 🙂,

Toujours pas de fichier, dommage !!!

Surement avec un
If Cells(intIndexLigne, 1) = "VIDE1" Then Exit For
ou
If Cells(intIndexLigne, 1) = "VIDE1" Then Exit Sub
ou
If Cells(intIndexLigne, 1) = "VIDE1" Then Goto OnVaALaSuite

Il y a plein de possibilités si l'on sait où l'on va.

A te relire

Martial
 
- 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
8
Affichages
238
Réponses
4
Affichages
330
Retour