aide Finalisation macro

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

P

pledger

Guest
Bonsoir le forum,

Je vous contact car j'ai une macro qui plante , je ne trouve pas l'erreur.

La voici :

Code:
Public premier As Boolean

Sub Macro12()
'
' Macro12 Macro
'
' Touche de raccourci du clavier: Ctrl+n
On Error Resume Next

    Dim wb As Workbook
    
    For Each wb In Workbooks
    
        If wb.Name Like "Analyse*" Then
        
            wb.Sheets("Feuil1").Select
            wb.Sheets("Feuil1").Move Before:=Sheets(1)
            wb.Sheets("Concaténation").Select
            
        For i = 1 To wb.Sheets.Count
        
        
        wb.Sheets("Concaténation").Select
         Selection.wb.Sheets(i).Range("a1:a65536").SpecialCells(xlCellTypeBlanks).EntireRow.Delete
         
        Next i
         
        Columns("A:A").Select
        Selection.Insert Shift:=xlToRight, CopyOrigin:=xlFormatFromLeftOrAbove
        Selection.Insert Shift:=xlToRight, CopyOrigin:=xlFormatFromLeftOrAbove

            
        End If
    
        If premier = False Then
            monID = 0
        End If
            j = 1
            k = 1
            
            derniereLigne = wb.Sheets("Feuil1").Range("B65536").End(xlUp).Row
                
        For i = 1 To derniereLigne
            If wb.Sheets(1).Cells(i, 1).Value <> "" Then
                monID = monID + 1
                valeur = Sheets("Feuil1").Cells(i, 1).Value
                wb.Sheets("Concaténation").Cells(j, 1).Value = monID
                wb.Sheets("Concaténation").Cells(j, 2).Value = Sheets("Feuil1").Cells(i, 1).Value
                j = j + 1
            End If
            
            wb.Sheets("Feuil2").Cells(k, 1).Value = monID
            wb.Sheets("Feuil2").Cells(k, 2).Value = Sheets("Feuil1").Cells(i, 2).Value
            k = k + 1
        Next
        
        wb.Sheets("Concaténation").Name = "Danger"
        wb.Sheets("Feuil2").Name = "Mesure"
      
       
    Next wb
On Error GoTo 0
End Sub

Elle fonctionne mais me crée 2 colonnes ( je ne sais pas pourquoi )
Et la suppression des cellules ne marche pas

Pourriez vous m'aider ?
 
Re : aide Finalisation macro

Bonsoir,

Peut être ici :

VB:
            ' derniereLigne = wb.Sheets("Feuil1").Range("B65536").End(xlUp).Row

            derniereLigne = wb.Sheets("Feuil1").Range("A65536").End(xlUp).Row
                 
        For i = 1 To derniereLigne
 la derniere ligne est a tetser sur la colonne A car votre condition est sur la premiere cellule :

If wb.Sheets(1).Cells(i, 1).Value <> "" Then     ' soit A1 = Cells(i, 1) ici i = 1

' ****************************************************************************

' ici c'est pas la bonne commande / .SpecialCells(xlCellTypeBlanks).
'Range("a1:a65536").SpecialCells(xlCellTypeBlanks).EntireRow.Delete
' Supprime toute les ligne selectionné
Range("a1:a65536").EntireRow.Delete
' supprime tous le contenu de la cellule y compris format
Range("a1:a65536").Clear
' supprime que le contenu de la valeur de la cellule / le format est conservé
Range("a1:a65536").ClearContents
laurent
 
Dernière édition:
Re : aide Finalisation macro

[/HTML]bonsoir Laurent,

Je viens juste de résoudre le problème avec ceci :
Code:
        For i = 1 To wb.Sheets("Concaténation").Count
        wb.Sheets(i).Select
        Range("a1:a65536").SpecialCells(xlCellTypeBlanks).EntireRow.Delete
Next i

Je viens de constater deux autre soucis :

Le premier , j'ai ma feuil1 qui est copié coller en feuil1(1)
Le deuxième : la macro ne s’exécute que partiellement dans le deuxième fichier ( en réaltité la feuil 1 est supprimé mais rien d'autre)
 
Re : aide Finalisation macro

Bonjour,

En faite la macro est mal construite. ont peux essayer quelque choses vous faite :

le fichier de départ avec les onglets leur nom est renseignement d'origine.

le fichier d'arriver tel qu'il dois être. avec nom d'onglet et tous les champs remplis (en noir ce qui change pas par arpport au premier et en rouge ceux qui change)

sans aucune macro = je compare est je refais votre macro

laurent
 
Re : aide Finalisation macro

JBonsoir pledger,

je suis pas dans la mesure de vous aider, je comprend pas je suis désoler j'ai essayer, en faite ces le début vers la fin (le programe je sais le faire) vous avez une idée pour être plus caliere et avoir plus de détail.

laurent
 
Re : aide Finalisation macro

Je place la feuille concaténation en deuxième position
Ensuite dans la feuille concaténation je supprimes les lignes vide
Puis je crée 2 colonnes en B et C dans la feuille concaténation.

Ensuite j'arrive même pas a expliquer moi même tellement c compliqué
 
- 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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
5
Affichages
890
Réponses
15
Affichages
743
Réponses
8
Affichages
378
Réponses
4
Affichages
720
Réponses
4
Affichages
273
Réponses
2
Affichages
137
Réponses
8
Affichages
768
Réponses
2
Affichages
513
  • Question Question
Microsoft 365 Excel VBA
Réponses
5
Affichages
565
Retour