Lignes masquées
Bonjour,
J'ai un tableau avec plusieurs champs (Nom, Prénom, date de naissance....) dans une feuille1 excel
J'ai une autre feuille2
J'ai masqué les lignes de 1 jusqu'à 107.
En fonction d'une condition, je rempli la feuille2 avec des informations contenues dans la feuille1.
Je voudrais qu'à chaque ligne enregistrée, cette ligne ne soit plus masquée.
J'ai essayé avec :
Rows(i).select
selection.entireRow.hidden=false
i étant une variable
Je n'obtiens rien
Je ne sais pas comment procéder
Merci pour l'aide que vous pourrez m'apporte
Bonjour Tintin1402
Tout dépend comment tes lignes sont maquées ?
S'il s'agit d'un filtre ta méthode ne fonctionnera pas il faut mettre à jour ton filtre
Au passage, tu peux optimiser ton code par
Rows(i).Hidden=False
A+
Bonjour
Je me permettrai aussi d'ajouter le nom de la feuille où se trouve les lignes à afficher
thisworkbook.sheets("NomDeLaFeuille").Rows(i).Hidden=False
Tiens nous au courant
à bientôt
merci de m'aider
J'ai masqué les lignes avec la souris.J'ai sélectionné les 107 premières lignes et j'ai cliqué masqué.
J'ai donc 107 lignes de masquées.
J'ai à l'affichage les lignes après 107
J'ai mis la ligne : thisworkbook.sheets("NomDeLaFeuille").Rows(i).Hidden=False
j'ai fait une boucle :
For i=3 to NbEnreg
thisworkbook.sheets("inscriptions").Rows(i).Hidden=False
Next i
NbEnreg est le nombre d'enregistrement donc nombre de lignes.
çà ne fonctionne pas
Pourrais tu nous passer une copie de ton fichier s'il tep lait
Voici
Je te joins le fichier que je charge sur mon programme et qui permet de faire les inscriptions.
Le programme qui pause des problèmes est dans le module 4
Si je laisse quelques lignes visibles, le programme se déroule normalement.
Il y a des problèmes quand je masque les lignes.
Encore merci
Option Explicit
Sub enregistrement_inscriptions()
If H = 0 Then
MsgBox "Le fichier des inscriptions n'a pas été chargé", vbInformation, "fichier des inscriptions"
Exit Sub
End If
Application.ScreenUpdating = False
Sheets("Submissions").Select
Dim NbEnreg As Integer
Dim cel1 As Range
Dim prénom As String
Dim Nom As String
Dim Nomprénom As String
Dim datenaissance As Date
Dim catégories As String
Dim adresse As String
Dim ville As String
Dim codepostal As String
Dim telfixe As String
Dim telportable As String
Dim mail As String
Dim adhésion As String
Dim licence As String
Dim mra As String
Dim cotisation As Integer
Dim modepaiement As String
Dim assurance As String
Dim soussigné As String
Dim qualité As String
Dim autorisation As String
Dim nomenfant As String
Dim prénomenfant As String
Dim fichier As String
Dim i As Integer
Dim z As Integer
i = 1
Set cel1 = Range("A1")
NbEnreg = Range("A1").End(xlDown).Row
Sheets("inscriptions").Select
Dim NbEnreg2 As Integer
Dim Cel2 As Range
Dim j As Integer
Dim k As Integer
Dim L As Integer
j = 1
k = 1
Sheets("Submissions").Select
For i = 1 To NbEnreg - 1
prénom = Range("A1").Offset(i, 2)
Nom = Range("A1").Offset(i, 3)
datenaissance = Range("A1").Offset(i, 4)
catégories = Range("A1").Offset(i, 5)
adresse = Range("A1").Offset(i, 6)
ville = Range("A1").Offset(i, 7)
codepostal = Range("A1").Offset(i, 8)
telfixe = Range("A1").Offset(i, 9)
telportable = Range("A1").Offset(i, 10)
mail = Range("A1").Offset(i, 11)
adhésion = Range("A1").Offset(i, 12)
licence = Range("A1").Offset(i, 13)
mra = Range("A1").Offset(i, 14)
cotisation = Range("A1").Offset(i, 15)
modepaiement = Range("A1").Offset(i, 16)
assurance = Range("A1").Offset(i, 17)
soussigné = Range("A1").Offset(i, 19)
qualité = Range("A1").Offset(i, 20)
autorisation = Range("A1").Offset(i, 21)
nomenfant = Range("A1").Offset(i, 22)
prénomenfant = Range("A1").Offset(i, 23)
fichier = Range("A1").Offset(i, 25)
Worksheets("inscriptions").Select
Set Cel2 = Range("A1")
Nomprénom = Nom + prénom
If Range("A1").Offset(1, 1) = "" Then
Range("A1").Offset(1, 0) = prénom
Range("A1").Offset(1, 1) = Nom
Range("A1").Offset(1, 2) = datenaissance
Range("A1").Offset(1, 3) = catégories
Range("A1").Offset(1, 4) = adresse
Range("A1").Offset(1, 5) = ville
Range("A1").Offset(1, 6) = codepostal
Range("A1").Offset(1, 7) = telfixe
Range("A1").Offset(1, 8) = telportable
Range("A1").Offset(1, 9) = mail
Range("A1").Offset(1, 10) = adhésion
Range("A1").Offset(1, 11) = licence
Range("A1").Offset(1, 12) = mra
Range("A1").Offset(1, 13) = cotisation
Range("A1").Offset(1, 14) = modepaiement
Range("A1").Offset(1, 15) = assurance
Range("A1").Offset(1, 17) = soussigné
Range("A1").Offset(1, 18) = qualité
Range("A1").Offset(1, 19) = autorisation
Range("A1").Offset(1, 20) = nomenfant
Range("A1").Offset(1, 21) = prénomenfant
Range("A1").Offset(1, 23) = fichier
End If
NbEnreg2 = Range("A1").End(xlDown).Row
L = 0
For j = 1 To NbEnreg2 - 1
If Worksheets("inscriptions").Range("A1").Offset(j, 2) = datenaissance Then
L = 1
Exit For
End If
Next j
If L = 0 Then
k = NbEnreg2
Range("A1").Offset(k, 0) = prénom
Range("A1").Offset(k, 1) = Nom
Range("A1").Offset(k, 2) = datenaissance
Range("A1").Offset(k, 3) = catégories
Range("A1").Offset(k, 4) = adresse
Range("A1").Offset(k, 5) = ville
Range("A1").Offset(k, 6) = codepostal
Range("A1").Offset(k, 7) = telfixe
Range("A1").Offset(k, 8) = telportable
Range("A1").Offset(k, 9) = mail
Range("A1").Offset(k, 10) = adhésion
Range("A1").Offset(k, 11) = licence
Range("A1").Offset(k, 12) = mra
Range("A1").Offset(k, 13) = cotisation
Range("A1").Offset(k, 14) = modepaiement
Range("A1").Offset(k, 15) = assurance
Range("A1").Offset(k, 17) = soussigné
Range("A1").Offset(k, 18) = qualité
Range("A1").Offset(k, 19) = autorisation
Range("A1").Offset(k, 20) = nomenfant
Range("A1").Offset(k, 21) = prénomenfant
Range("A1").Offset(k, 23) = fichier
End If
Worksheets("Submissions").Select
Next i
Worksheets("inscriptions").Select
Dim NbEnreg4 As Integer
Dim u As Integer
Dim v As Integer
Dim w As Integer
v = 0
u = 1
NbEnreg4 = Range("A1").End(xlDown).Row
z = 2 'changement ici
For z = 2 To NbEnreg4 ' ici
ThisWorkbook.Sheets("inscriptions").Rows(z).Hidden = False
Next z
' ajout de cette linge ci dessous
For z = NbEnreg4 To 106
ThisWorkbook.Sheets("inscriptions").Rows(z).Hidden = True
Next z
For u = 1 To NbEnreg4 - 1
If Range("A1").Offset(u, 1) <> "" Then
v = v + 1
End If
Next u
Range("N107") = v
Application.ScreenUpdating = True
End Sub
Dis moi si ça marche ou pas??
Merci pour ton aide
çà ne fonctionne pas
Si je ne masque pas la 2ème ligne correspondant au 1er enregistrement
* J'ai alors toutes les lignes masquées( y compris la 2ème)
* J'ai seulement 2 lignes sur 6
* si je clique une 2ème fois sur mon bouton enregistrement j(ai 5 lignes enregistréesz qui apparaissent
quand le clique une nouvelle fois, j'ai une ligne qui se masque et ainsi de suite jusqu'à qu'elles soient toutes masquées, puis si je clique à nouveau j'ai plusieurs fois la même ligne.
si je masque la première ligne , j'ai un débogage
NbEnreg2=Range("A1").End(xldown).row
Erreur execution"6"
Dépassement de capacité.
Apparemment il ne tient pas compte de la ligne 2 masquées.
Voilà