bonjour à tous, je suis perplexe devant les réactions bizarres d'excel :
si je pose ce bout de code dans un fichier vierge
	
	
	
	
	
		
dans lequel j'aurai au préalable renommer une des feuilles "stage" et l'autre "listvol", le code fonctionne sans aucun problème.
Malhreuseument, dans le fichier qui m'intéresse(je le joins par ci-joint, je ne peux pas le réduite à la bonne taille Cijoint.fr - Service gratuit de dépôt de fichiers), cela ne fonctionne pas comme je l'entends: je lance le code par le biais du bouton "initialiser", après confirmation, il m'envoie une erreur d'exécution '9', l'indice n'appartient pas à la séletion, je clike sur débogage, la ligne
	
		
 est en surbrillance.
Et là, si au lieu de cliquer sur le bouton stop, je clique sur le bouton continuer(F5), le code recommence à s'exécuter, et fonctionne très bien! Je n'arrive pas à débrouiller ce problème.
Encore plus déroutant(à moins qu'au contraire, cela fournisse une piste aux aficionados!!) : si je clique sur "initialiser" alors que la fenêtre d'édition est ouverte, le code s'exécute sans souci!! Si je ferme la fenêtre, il bloque de nouveau à cette même étape... A n'y rien comprendre 🙁
je le joins également en format xls :Cijoint.fr - Service gratuit de dépôt de fichiers
Merci à toutes les bonnes âmes
	
		
			
		
		
	
				
			si je pose ce bout de code dans un fichier vierge
		Code:
	
	
	With ThisWorkbook
vry = Array("prévi", "vols", "sols", "recap")
    For i = 1 To 4
      Sheets.Add After:=Sheets(Sheets.Count)
      Sheets(Sheets.Count).Name = vry(i)
      If Sheets(Sheets.Count).Name = "prévi" Or Sheets(Sheets.Count).Name = "vols" Then
      Set sh = ActiveWorkbook.VBProject.VBComponents(ActiveSheet.CodeName)
           With sh.CodeModule
            .InsertLines x + 1, "Private Sub Worksheet_Activate() 'à l'activation de l'onglet"
            .InsertLines x + 2, "Dim cel As Range 'déclare la variable cel (CELlule)"
            .InsertLines x + 3, "For Each cel In Range(""A1:"" & Range(""IV1"").End(xlToLeft).Address)" 'boucle sur toutes les cellules éditées cel de la ligne 2
            .InsertLines x + 4, "If cel.Value = Date Then" 'condition : si la valeur de la cellule est égale à la date du jour
            .InsertLines x + 5, "cel.Select" 'sélectionne la cellule
            .InsertLines x + 6, "Exit For" 'sort de la boucle
            .InsertLines x + 7, "End If" 'fin de la condition
            .InsertLines x + 8, "Next cel" 'prochaine cellule de la boucle
            .InsertLines x + 9, "End Sub"
        End With
        End If
    Next i
End With
	Malhreuseument, dans le fichier qui m'intéresse(je le joins par ci-joint, je ne peux pas le réduite à la bonne taille Cijoint.fr - Service gratuit de dépôt de fichiers), cela ne fonctionne pas comme je l'entends: je lance le code par le biais du bouton "initialiser", après confirmation, il m'envoie une erreur d'exécution '9', l'indice n'appartient pas à la séletion, je clike sur débogage, la ligne
		Code:
	
	
	Set sh = ActiveWorkbook.VBProject.VBComponents(ActiveSheet.CodeName)
	Et là, si au lieu de cliquer sur le bouton stop, je clique sur le bouton continuer(F5), le code recommence à s'exécuter, et fonctionne très bien! Je n'arrive pas à débrouiller ce problème.
Encore plus déroutant(à moins qu'au contraire, cela fournisse une piste aux aficionados!!) : si je clique sur "initialiser" alors que la fenêtre d'édition est ouverte, le code s'exécute sans souci!! Si je ferme la fenêtre, il bloque de nouveau à cette même étape... A n'y rien comprendre 🙁
je le joins également en format xls :Cijoint.fr - Service gratuit de dépôt de fichiers
Merci à toutes les bonnes âmes