Usine à gaz
XLDnaute Barbatruc
Bonjour à toutes et à tous,
Me voilà (avec mon classeur de course LOL) encore devant un problème que je n'arrive pas à comprendre malgré mes essais et recherches.
J'ai besoin :
- de trouver les cellules vides dans une plage de données.
- d'atteindre la ligne des cellules sélectionnées (toujours sur la même ligne).
(dans mon fichier de plus de 20.000 lignes, cela m'évite de chercher et donc de gagner du temps)
Dans le fichier test, pas de souci. le code :
sélectionne les cellules vides et m'amène "direct" sur la ligne concernée.
Dans mon gros fichier que je ne peux pas joindre :
- les cellules sont bien sélectionnées ....
Mais le code ne m'amène pas sur la ligne sélectionnée (je reste en plan sur la ligne sur laquelle je suis )
Je me tourne une nouvelle fois vers vous pour votre aide si précieuse
Dans mon fichier de travail, j'ai les deux codes suivant :
Dans le code d'une feuille
Dans un module standard
Quelqu'un aurait une idée ?
Je joins le fichier test qui fonctionne nickel.
Avec mes remerciements,
Je vous souhaite à toutes et à tous une bonne fin de dimanche.
Amicalement,
Lionel,
Me voilà (avec mon classeur de course LOL) encore devant un problème que je n'arrive pas à comprendre malgré mes essais et recherches.
J'ai besoin :
- de trouver les cellules vides dans une plage de données.
- d'atteindre la ligne des cellules sélectionnées (toujours sur la même ligne).
(dans mon fichier de plus de 20.000 lignes, cela m'évite de chercher et donc de gagner du temps)
Dans le fichier test, pas de souci. le code :
Code:
Sub Positionne()
Range("b2:n20000").Select
Selection.SpecialCells(xlCellTypeBlanks).Select
End Sub
sélectionne les cellules vides et m'amène "direct" sur la ligne concernée.
Dans mon gros fichier que je ne peux pas joindre :
- les cellules sont bien sélectionnées ....
Mais le code ne m'amène pas sur la ligne sélectionnée (je reste en plan sur la ligne sur laquelle je suis )
Je me tourne une nouvelle fois vers vous pour votre aide si précieuse
Dans mon fichier de travail, j'ai les deux codes suivant :
Dans le code d'une feuille
Code:
Private Sub Worksheet_SelectionChange(ByVal R As Range)
If Not Intersect(R, Range("b7:b20000")) Is Nothing Then
R.Copy
Exit Sub
End If
Dim C As Range
If Not Intersect(R, Range("i7:t20000")) Is Nothing Then
ActiveSheet.Unprotect Password:=""
For Each C In Range("y7:y20000")
If C = 1 Then
If R.Row <> C.Row Then
Application.EnableEvents = False
Application.ScreenUpdating = False
Oubli_date.Show
Range("i" & C.Row & "").Select
Range("I7:t20000").Select
Selection.SpecialCells(xlCellTypeBlanks).Select
Application.ScreenUpdating = False
Application.EnableEvents = True
ActiveSheet.Protect Password:="", DrawingObjects:=True, Contents:=True, Scenarios:=True
ActiveSheet.EnableSelection = xlNoRestrictions
Exit Sub
End If
End If
Next C
'ActiveCell.Offset(0, -4).Select
ActiveSheet.Protect Password:="", DrawingObjects:=True, Contents:=True, Scenarios:=True
ActiveSheet.EnableSelection = xlNoRestrictions
Application.EnableEvents = True
Application.ScreenUpdating = True
End If
Code:
Sub Blocage()
Sheets("SuivisAppels").Select
Oubli_date.Show
Application.EnableEvents = False
Application.ScreenUpdating = False
ActiveSheet.Unprotect Password:=""
Range("I7:t20000").Select
Selection.SpecialCells(xlCellTypeBlanks).Select
ActiveSheet.Protect Password:="", DrawingObjects:=True, Contents:=True, Scenarios:=True
ActiveSheet.EnableSelection = xlNoRestrictions
Application.EnableEvents = True
Application.ScreenUpdating = True
End Sub
Quelqu'un aurait une idée ?
Je joins le fichier test qui fonctionne nickel.
Avec mes remerciements,
Je vous souhaite à toutes et à tous une bonne fin de dimanche.
Amicalement,
Lionel,
Pièces jointes
Dernière édition: