Problème sur la première ligne

Le
Thierry
Bonjour,

je ne sais pas ce que j'ai fait mais voilà depuis quelque temps (il me
semble sans mon intervention volontaire) une macro vba qui s'execute
supprime la ligne 1 de ma feuille excel dans laquelle je mets l'année. Cela
se produit dans mes deux fichiers mon fichier excel de test et celui qui
correspond a la dernière version stable.

Y a t'il un paramètre dans l'affichage qui permette cela ?


Merci

--
Ne pas répondre à l'adresse anti-spam.
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Daniel
Le #4591151
Bonjour.
A quel moment constates-tu le problème ? à l'ouverture ? La ligne est-elle
supprimée ou masquée ? (quelle est le numéro de la première ligne visible ?)
Cordialement.
Daniel
"Thierry"
Bonjour,

je ne sais pas ce que j'ai fait mais voilà depuis quelque temps (il me
semble sans mon intervention volontaire) une macro vba qui s'execute
supprime la ligne 1 de ma feuille excel dans laquelle je mets l'année.
Cela se produit dans mes deux fichiers mon fichier excel de test et celui
qui correspond a la dernière version stable.

Y a t'il un paramètre dans l'affichage qui permette cela ?


Merci

--
Ne pas répondre à l'adresse anti-spam.







Thierry
Le #4590941
La ligne qui disparait est la ligne 1 la feuille n'est pas protégée et je ne
masque pas cette ligne. La première ligne visible est la 2.

Lorsque je lance les macros la ligne 1 apparait puis disparait à l'execution
de cette procedure qui n'a pas bougé depuis un moment et dans laquelle il
n'est jamais fait référence à la ligne 1:

Sub Cretacon()
'
' Interdire l'exécution de macro si profile lecture
'
If VariableIdentite = False Then
MsgBox ("Exécution de macro interdite")
Exit Sub
End If
'
' Tabcol = nombre de colonne du tableau à supprimer
' Ptab = Première colonne du tableau
' LimH = nombre de colonnes pour les taches
' Pcol = Première colonne
' Dcol = Dernière colonne
' Plig = Première ligne
' Dlig = Dernière ligne
Pcol = [Paramètres!A15]
Dcol = [Paramètres!A16]
Plig = [Paramètres!A18]
Dlig = [Paramètres!A19]
'
If ActiveSheet.Name = "Récap. tâches par collab." Then
Ptab = Pcol
o = Pcol - 1
Tabcol = [Paramètres!b20]
[Paramètres!b20] = [Paramètres!b9]
Else
Ptab = Dcol + 1
o = Dcol
If ActiveSheet.Name = "Janvier" Then
Tabcol = [Paramètres!c20]
[Paramètres!c20] = [Paramètres!c9]
End If
If ActiveSheet.Name = "Février" Then
Tabcol = [Paramètres!d20]
[Paramètres!d20] = [Paramètres!d9]
End If
If ActiveSheet.Name = "Mars" Then
Tabcol = [Paramètres!e20]
[Paramètres!e20] = [Paramètres!e9]
End If
If ActiveSheet.Name = "Avril" Then
Tabcol = [Paramètres!f20]
[Paramètres!f20] = [Paramètres!f9]
End If
If ActiveSheet.Name = "Mai" Then
Tabcol = [Paramètres!g20]
[Paramètres!g20] = [Paramètres!g9]
End If
If ActiveSheet.Name = "Juin" Then
Tabcol = [Paramètres!h20]
[Paramètres!h20] = [Paramètres!h9]
End If
If ActiveSheet.Name = "Juillet" Then
Tabcol = [Paramètres!i20]
[Paramètres!i20] = [Paramètres!i9]
End If
If ActiveSheet.Name = "Août" Then
Tabcol = [Paramètres!j20]
[Paramètres!j20] = [Paramètres!j9]
End If
If ActiveSheet.Name = "Septembre" Then
Tabcol = [Paramètres!k20]
[Paramètres!k20] = [Paramètres!k9]
End If
If ActiveSheet.Name = "Octobre" Then
Tabcol = [Paramètres!l20]
[Paramètres!l20] = [Paramètres!l9]
End If
If ActiveSheet.Name = "Novembre" Then
Tabcol = [Paramètres!m20]
[Paramètres!m20] = [Paramètres!m9]
End If
If ActiveSheet.Name = "Décembre" Then
Tabcol = [Paramètres!n20]
[Paramètres!n20] = [Paramètres!n9]
End If
End If
'
'
LimH = [Paramètres!A9]
temp = ""
'
' Nettoyage du tableau précédent
'
For i = Ptab To Ptab + Tabcol

Columns(i).Clear
Next i
'
' Récuperer la liste des taches et des types de jours, hors jours ravaillés
normaux
'
i = Ptab
'
For j = 1 To LimH
Range(Cells(1, i), Cells(11, i)).MergeCells = True
Cells(1, i).Value2 = Left(Sheets("Tâches").Range("A" & j), 4)
Cells(1, i).Orientation = xlVertical
Cells(1, i).Font.Size = 8
Cells(1, i).RowHeight = 1
Cells(1, i).ColumnWidth = 3
i = i + 1
Next j
'
'
' Calcul du consommé par tâche pour le mois
' Calcul du nombre de type de jours pris, hors jours travaillés normaux
'
' Comparaison des codes saisis dans le mois a ceux saisis dans la colonne A
de la feuille des tâches
' Pour chaque égalité trouvé incrémenter le compteur de la colonne du
tableau
' des tâches correspondantes
'
If ActiveSheet.Name = "Janvier" Or ActiveSheet.Name = "Février" Or
ActiveSheet.Name = "Mars" Or ActiveSheet.Name = "Avril" Or ActiveSheet.Name
= "Mai" Or ActiveSheet.Name = "Juin" Or ActiveSheet.Name = "Juillet" Or
ActiveSheet.Name = "Août" Or ActiveSheet.Name = "Septembre" Or
ActiveSheet.Name = "Octobre" Or ActiveSheet.Name = "Novembre" Or
ActiveSheet.Name = "Décembre" Then
For i = Plig To Dlig
For j = Pcol To Dcol
For k = 1 To LimH
If Cells(i, j).Value2 <> "" Then
m = InStr(Sheets("Tâches").Range("A" & k), " ")
If m = 0 Then
x = Sheets("Tâches").Range("A" & k)
Else
x = Mid(Sheets("Tâches").Range("A" & k), 1, (m - 1))
End If
n = InStr(Cells(i, j).Value2, " ")
If n = 0 Then
y = Cells(i, j).Value2
Else
y = Mid(Cells(i, j).Value2, 1, (n - 1))
End If
If x = y Then
Cells(i, (o + k)).Value2 = Cells(i, (o + k)).Value2 + 1
End If
End If
Next k
Next j
Next i
End If
'
End Sub


"Daniel" eqSrg$
Bonjour.
A quel moment constates-tu le problème ? à l'ouverture ? La ligne est-elle
supprimée ou masquée ? (quelle est le numéro de la première ligne visible
?)
Cordialement.
Daniel
"Thierry"
Bonjour,

je ne sais pas ce que j'ai fait mais voilà depuis quelque temps (il me
semble sans mon intervention volontaire) une macro vba qui s'execute
supprime la ligne 1 de ma feuille excel dans laquelle je mets l'année.
Cela se produit dans mes deux fichiers mon fichier excel de test et celui
qui correspond a la dernière version stable.

Y a t'il un paramètre dans l'affichage qui permette cela ?


Merci

--
Ne pas répondre à l'adresse anti-spam.











Thierry
Le #4590561
C'est cette partie la qui pose problème :

For j = 1 To LimH
Range(Cells(1, i), Cells(11, i)).MergeCells = True
Cells(1, i).Value2 = Left(Sheets("Tâches").Range("A" & j), 4)
Cells(1, i).Orientation = xlVertical
Cells(1, i).Font.Size = 8
Cells(1, i).RowHeight = 1
Cells(1, i).ColumnWidth = 3
i = i + 1
Next j

i commence en colonne AI et J est une colonne don LimH est le nombre de
valeur contenu dans cette colonne. Le but est de mettre un texte en
horizontal de la ligne 1 à le ligne 11 en fusionnant ces cellules et de la
colonne AI à la limite AI + LimH












"Thierry"
La ligne qui disparait est la ligne 1 la feuille n'est pas protégée et je
ne masque pas cette ligne. La première ligne visible est la 2.

Lorsque je lance les macros la ligne 1 apparait puis disparait à
l'execution de cette procedure qui n'a pas bougé depuis un moment et dans
laquelle il n'est jamais fait référence à la ligne 1:

Sub Cretacon()
'
' Interdire l'exécution de macro si profile lecture
'
If VariableIdentite = False Then
MsgBox ("Exécution de macro interdite")
Exit Sub
End If
'
' Tabcol = nombre de colonne du tableau à supprimer
' Ptab = Première colonne du tableau
' LimH = nombre de colonnes pour les taches
' Pcol = Première colonne
' Dcol = Dernière colonne
' Plig = Première ligne
' Dlig = Dernière ligne
Pcol = [Paramètres!A15]
Dcol = [Paramètres!A16]
Plig = [Paramètres!A18]
Dlig = [Paramètres!A19]
'
If ActiveSheet.Name = "Récap. tâches par collab." Then
Ptab = Pcol
o = Pcol - 1
Tabcol = [Paramètres!b20]
[Paramètres!b20] = [Paramètres!b9]
Else
Ptab = Dcol + 1
o = Dcol
If ActiveSheet.Name = "Janvier" Then
Tabcol = [Paramètres!c20]
[Paramètres!c20] = [Paramètres!c9]
End If
If ActiveSheet.Name = "Février" Then
Tabcol = [Paramètres!d20]
[Paramètres!d20] = [Paramètres!d9]
End If
If ActiveSheet.Name = "Mars" Then
Tabcol = [Paramètres!e20]
[Paramètres!e20] = [Paramètres!e9]
End If
If ActiveSheet.Name = "Avril" Then
Tabcol = [Paramètres!f20]
[Paramètres!f20] = [Paramètres!f9]
End If
If ActiveSheet.Name = "Mai" Then
Tabcol = [Paramètres!g20]
[Paramètres!g20] = [Paramètres!g9]
End If
If ActiveSheet.Name = "Juin" Then
Tabcol = [Paramètres!h20]
[Paramètres!h20] = [Paramètres!h9]
End If
If ActiveSheet.Name = "Juillet" Then
Tabcol = [Paramètres!i20]
[Paramètres!i20] = [Paramètres!i9]
End If
If ActiveSheet.Name = "Août" Then
Tabcol = [Paramètres!j20]
[Paramètres!j20] = [Paramètres!j9]
End If
If ActiveSheet.Name = "Septembre" Then
Tabcol = [Paramètres!k20]
[Paramètres!k20] = [Paramètres!k9]
End If
If ActiveSheet.Name = "Octobre" Then
Tabcol = [Paramètres!l20]
[Paramètres!l20] = [Paramètres!l9]
End If
If ActiveSheet.Name = "Novembre" Then
Tabcol = [Paramètres!m20]
[Paramètres!m20] = [Paramètres!m9]
End If
If ActiveSheet.Name = "Décembre" Then
Tabcol = [Paramètres!n20]
[Paramètres!n20] = [Paramètres!n9]
End If
End If
'
'
LimH = [Paramètres!A9]
temp = ""
'
' Nettoyage du tableau précédent
'
For i = Ptab To Ptab + Tabcol

Columns(i).Clear
Next i
'
' Récuperer la liste des taches et des types de jours, hors jours
ravaillés normaux
'
i = Ptab
'
For j = 1 To LimH
Range(Cells(1, i), Cells(11, i)).MergeCells = True
Cells(1, i).Value2 = Left(Sheets("Tâches").Range("A" & j), 4)
Cells(1, i).Orientation = xlVertical
Cells(1, i).Font.Size = 8
Cells(1, i).RowHeight = 1
Cells(1, i).ColumnWidth = 3
i = i + 1
Next j
'
'
' Calcul du consommé par tâche pour le mois
' Calcul du nombre de type de jours pris, hors jours travaillés normaux
'
' Comparaison des codes saisis dans le mois a ceux saisis dans la colonne
A de la feuille des tâches
' Pour chaque égalité trouvé incrémenter le compteur de la colonne du
tableau
' des tâches correspondantes
'
If ActiveSheet.Name = "Janvier" Or ActiveSheet.Name = "Février" Or
ActiveSheet.Name = "Mars" Or ActiveSheet.Name = "Avril" Or
ActiveSheet.Name = "Mai" Or ActiveSheet.Name = "Juin" Or ActiveSheet.Name
= "Juillet" Or ActiveSheet.Name = "Août" Or ActiveSheet.Name = "Septembre"
Or ActiveSheet.Name = "Octobre" Or ActiveSheet.Name = "Novembre" Or
ActiveSheet.Name = "Décembre" Then
For i = Plig To Dlig
For j = Pcol To Dcol
For k = 1 To LimH
If Cells(i, j).Value2 <> "" Then
m = InStr(Sheets("Tâches").Range("A" & k), " ")
If m = 0 Then
x = Sheets("Tâches").Range("A" & k)
Else
x = Mid(Sheets("Tâches").Range("A" & k), 1, (m - 1))
End If
n = InStr(Cells(i, j).Value2, " ")
If n = 0 Then
y = Cells(i, j).Value2
Else
y = Mid(Cells(i, j).Value2, 1, (n - 1))
End If
If x = y Then
Cells(i, (o + k)).Value2 = Cells(i, (o + k)).Value2 + 1
End If
End If
Next k
Next j
Next i
End If
'
End Sub


"Daniel" eqSrg$
Bonjour.
A quel moment constates-tu le problème ? à l'ouverture ? La ligne
est-elle supprimée ou masquée ? (quelle est le numéro de la première
ligne visible ?)
Cordialement.
Daniel
"Thierry"
Bonjour,

je ne sais pas ce que j'ai fait mais voilà depuis quelque temps (il me
semble sans mon intervention volontaire) une macro vba qui s'execute
supprime la ligne 1 de ma feuille excel dans laquelle je mets l'année.
Cela se produit dans mes deux fichiers mon fichier excel de test et
celui qui correspond a la dernière version stable.

Y a t'il un paramètre dans l'affichage qui permette cela ?


Merci

--
Ne pas répondre à l'adresse anti-spam.















Daniel
Le #4590301
"Thierry"
La ligne qui disparait est la ligne 1 la feuille n'est pas protégée et je
ne masque pas cette ligne. La première ligne visible est la 2.

Ta macro ne semble pas en cause. Si la première ligne visible porte le

numéro 2, c'est que la première ligne est masquée. Si ton classeur n'est pas
trop gros et qu'il ne contient pas de données sensibles (que tu peux, au
reste, effacer), le mieux est de mettre ton classeur sur www.cjoint.com et
de poster l'adresse générée.
Daniel

Publicité
Poster une réponse
Anonyme