XL 2013 erreur d’exécution 91 "variable de bloc With non définie"

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

Zerife

XLDnaute Nouveau
Bonjour,

J'ai un blocage sur une macro, et je ne comprends pas pourquoi ça bloque. J'ai besoin d'aide.

La macro bloque sur la ligne :
DerLignesh = rngTrouve.Row

erreur d’exécution 91 "variable de bloc With non définie"

--------------------------------------------------------------------------------------------------------------
Sub Concatene_EVImport()
Dim sarray
Dim sh As Worksheet, shimp As Worksheet
Dim DerLigne As Long, DerLignesh As Long, rngTrouve As Range

Application.DisplayAlerts = False
Application.ScreenUpdating = False

Sheets.Add.Name = "ImportDV"
Set shimp = Sheets("ImportDV")
sarray = Array("ImportDV", "Base", "REF", "Modele Horaire", "Modele Forfait jour", "Liste des onglets")

For Each sh In ActiveWorkbook.Worksheets
If IsError(Application.Match(sh.Name, sarray, 0)) Then
With sh

DerLigne = shimp.Cells(.Rows.Count, "A").End(xlUp).Row + 1
Set rngTrouve = .Columns("AZ:AZ").Find("*", After:=.Range("AZ1"), searchdirection:=xlPrevious, LookIn:=xlValues)
DerLignesh = rngTrouve.Row
.Range("AZ9:BC" & DerLignesh).Copy
shimp.Cells(DerLigne, 1).PasteSpecial (xlPasteValues)
shimp.Cells(DerLigne, 1).PasteSpecial (xlPasteFormats)
Application.CutCopyMode = False
End With
End If
Next sh

With shimp.Range("A1😀1")
.HorizontalAlignment = xlCenter
.MergeCells = False
.Merge
.Value = "synthese salarié horaire"
End With
Application.DisplayAlerts = True
Application.ScreenUpdating = True
End Sub

---------------------------------------------------------------
Merci pour votre aide,
Cdl
Zérife
 
Bonjour,

Pour ma connaissance perso, pourriez-vous m'éclairer sur la signification du 5 et du 9 dans le code :

Sub Concatene_EVImport()

'sert à concatenner les champs rose de la colonne AZ à BC de tous les onglets nominatifs afin d'obtenir une liste à importer

Worksheets.Add After:=Sheets(Worksheets.Count)


Sheets(Worksheets.Count).Name = "ImportDV" 'crée un gonlet qui s'appelle Import EV

For i = 5 To Worksheets.Count - 1
n = 9
DerLig = Worksheets("ImportDV").Range("A" & Rows.Count).End(xlUp).Row 'définit cellule A de l'onglet Import DV les données dynamiques
While Worksheets(i).Range("AZ" & n) <> "" 'jusqu'à la derniere donnee dynamique "vide"
n = n + 1 'en passant par la donnée dynamique qui suit ensuite
Wend
Worksheets(i).Range("AZ9:BC" & n).Copy 'copie les données contenues dans chacun des onglets positionnées en colonne AZ à BC
Worksheets("ImportDV").Range("A" & DerLig + 1).PasteSpecial xlPasteValues 'colle en colonne A en dessus de la derniere ligne excécutée
Next i
End Sub

Merci beaucoup,
 
Bonjour,

i est l'incrément qui permet de passer d'une feuille à une autre. Ainsi, le faire commencer à 5 et le faire fonctionner jusqu'à Worksheets.Count -1, ça veut dire qu'on boucle sur toutes les feuilles de la 5ème feuille jusqu'à l'avant dernière feuille.
n permet de trouver la dernière donnée non vide dans la colonne AZ. On boucle tant que la donnée est non vide, et dès qu'elle est vide on arrete d'incrémenter n. Comme ça à la fin n renvoie la dernière ligne non vide.

Bonne continuation
 
- 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

  • Question Question
Microsoft 365 Erreur de macro
Réponses
4
Affichages
702
Retour