Ajout de ligne via vba selon les dates

Le
Marc
Bonjour a tous..

voilà mon problème, j'ai un fichier excel qui fonctionne selon les dates je
veux qui sépare a tous les semaine (pour ca ca va. sauf que j'ai placé un
point d'arrêt (MaLigne6 = Range("b3").End(xlDown).Address) pour que mon
fichier ne se rend pas a 655 quelques ligne mais qui arrête a la fin des
lignes. du au fait que je fais une boucle pour vérifier toutes mes lignes
quand il arrive a la fin de le string (maligne6), si il a ajouté exemple 3
lignes et que la fin est a range b25 au début et que 3 lignes ce sont ajouté
il devrait être range b28 mais il arrête pareil a range b25 donc je voudrais
savoir quoi faire pour changé ma string avec la nouvelle adresse

voici un bout de code

Dim xlSheet As Excel.Worksheet
MaLigne6 = Range("b3").End(xlDown).Address
MaLigne6 = Range(MaLigne6).Row

For Compteur2 = 3 To MaLigne6 Step 1
Range(Compteur2 & ":" & Compteur2).Select
Selection.RowHeight = 30.75
MaLigne6 = Range("b3").End(xlDown).Address
MaLigne6 = Range(MaLigne6).Row


merci a l'avance


Marc
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
Philippe.R
Le #4675081
Bonjour Marc,
Le code que tu publies dans ton message et qui règle la hauteur des lignes
de ta plage peut aussi s'écrire :

Sub hlig()
Dim deRLig As Long
deRLig = Range("b789").End(xlUp).Row
Range("b3:b" & deRLig).RowHeight = 30.75
End Sub

pour ton souci, l'important est de bien placer le calcul ou recalcul de la
dernière ligne du tableau
--
Avec plaisir
Philippe.R
"Marc" news:
Bonjour a tous.....

voilà mon problème, j'ai un fichier excel qui fonctionne selon les dates
je
veux qui sépare a tous les semaine (pour ca ca va.... sauf que j'ai placé
un
point d'arrêt (MaLigne6 = Range("b3").End(xlDown).Address) pour que mon
fichier ne se rend pas a 655... quelques ligne mais qui arrête a la fin
des
lignes. du au fait que je fais une boucle pour vérifier toutes mes lignes
quand il arrive a la fin de le string (maligne6), si il a ajouté exemple 3
lignes et que la fin est a range b25 au début et que 3 lignes ce sont
ajouté
il devrait être range b28 mais il arrête pareil a range b25 donc je
voudrais
savoir quoi faire pour changé ma string avec la nouvelle adresse

voici un bout de code

Dim xlSheet As Excel.Worksheet
MaLigne6 = Range("b3").End(xlDown).Address
MaLigne6 = Range(MaLigne6).Row

For Compteur2 = 3 To MaLigne6 Step 1
Range(Compteur2 & ":" & Compteur2).Select
Selection.RowHeight = 30.75
MaLigne6 = Range("b3").End(xlDown).Address
MaLigne6 = Range(MaLigne6).Row


merci a l'avance


Marc




Marc
Le #4757541
merci Philippe

pour les lignes
je ne comprend pas, de ce que tu veux dire par calcule ou recalcul




Bonjour Marc,
Le code que tu publies dans ton message et qui règle la hauteur des lignes
de ta plage peut aussi s'écrire :

Sub hlig()
Dim deRLig As Long
deRLig = Range("b789").End(xlUp).Row
Range("b3:b" & deRLig).RowHeight = 30.75
End Sub

pour ton souci, l'important est de bien placer le calcul ou recalcul de la
dernière ligne du tableau
--
Avec plaisir
Philippe.R
"Marc" news:
Bonjour a tous.....

voilà mon problème, j'ai un fichier excel qui fonctionne selon les dates
je
veux qui sépare a tous les semaine (pour ca ca va.... sauf que j'ai placé
un
point d'arrêt (MaLigne6 = Range("b3").End(xlDown).Address) pour que mon
fichier ne se rend pas a 655... quelques ligne mais qui arrête a la fin
des
lignes. du au fait que je fais une boucle pour vérifier toutes mes lignes
quand il arrive a la fin de le string (maligne6), si il a ajouté exemple 3
lignes et que la fin est a range b25 au début et que 3 lignes ce sont
ajouté
il devrait être range b28 mais il arrête pareil a range b25 donc je
voudrais
savoir quoi faire pour changé ma string avec la nouvelle adresse

voici un bout de code

Dim xlSheet As Excel.Worksheet
MaLigne6 = Range("b3").End(xlDown).Address
MaLigne6 = Range(MaLigne6).Row

For Compteur2 = 3 To MaLigne6 Step 1
Range(Compteur2 & ":" & Compteur2).Select
Selection.RowHeight = 30.75
MaLigne6 = Range("b3").End(xlDown).Address
MaLigne6 = Range(MaLigne6).Row


merci a l'avance


Marc








Marc
Le #4757531
j'ai oublié de vous dire qu'il a beaucoup de code en vba et si je sors de la
plage de donnée le programme me donne une erreur
c'est pour ca que je dois faire atention a ma plage


Bonjour Marc,
Le code que tu publies dans ton message et qui règle la hauteur des lignes
de ta plage peut aussi s'écrire :

Sub hlig()
Dim deRLig As Long
deRLig = Range("b789").End(xlUp).Row
Range("b3:b" & deRLig).RowHeight = 30.75
End Sub

pour ton souci, l'important est de bien placer le calcul ou recalcul de la
dernière ligne du tableau
--
Avec plaisir
Philippe.R
"Marc" news:
Bonjour a tous.....

voilà mon problème, j'ai un fichier excel qui fonctionne selon les dates
je
veux qui sépare a tous les semaine (pour ca ca va.... sauf que j'ai placé
un
point d'arrêt (MaLigne6 = Range("b3").End(xlDown).Address) pour que mon
fichier ne se rend pas a 655... quelques ligne mais qui arrête a la fin
des
lignes. du au fait que je fais une boucle pour vérifier toutes mes lignes
quand il arrive a la fin de le string (maligne6), si il a ajouté exemple 3
lignes et que la fin est a range b25 au début et que 3 lignes ce sont
ajouté
il devrait être range b28 mais il arrête pareil a range b25 donc je
voudrais
savoir quoi faire pour changé ma string avec la nouvelle adresse

voici un bout de code

Dim xlSheet As Excel.Worksheet
MaLigne6 = Range("b3").End(xlDown).Address
MaLigne6 = Range(MaLigne6).Row

For Compteur2 = 3 To MaLigne6 Step 1
Range(Compteur2 & ":" & Compteur2).Select
Selection.RowHeight = 30.75
MaLigne6 = Range("b3").End(xlDown).Address
MaLigne6 = Range(MaLigne6).Row


merci a l'avance


Marc








Philippe.R
Le #4757521
Re,
Dans le cas d'ajout de ligne en cours d'exécution de macros, il convient de
rafraîchir la valeur de la variable correspondant à la dernière ligne de la
plage (deRLig dans l'exemple que je t'ai fourni), donc de la recalculer en
répétant :

deRLig = Range("b789").End(xlUp).Row
--
Avec plaisir
Philippe.R
"Marc" news:
merci Philippe

pour les lignes
je ne comprend pas, de ce que tu veux dire par calcule ou recalcul




Bonjour Marc,
Le code que tu publies dans ton message et qui règle la hauteur des
lignes
de ta plage peut aussi s'écrire :

Sub hlig()
Dim deRLig As Long
deRLig = Range("b789").End(xlUp).Row
Range("b3:b" & deRLig).RowHeight = 30.75
End Sub

pour ton souci, l'important est de bien placer le calcul ou recalcul de
la
dernière ligne du tableau
--
Avec plaisir
Philippe.R
"Marc" news:
Bonjour a tous.....

voilà mon problème, j'ai un fichier excel qui fonctionne selon les
dates
je
veux qui sépare a tous les semaine (pour ca ca va.... sauf que j'ai
placé
un
point d'arrêt (MaLigne6 = Range("b3").End(xlDown).Address) pour que mon
fichier ne se rend pas a 655... quelques ligne mais qui arrête a la fin
des
lignes. du au fait que je fais une boucle pour vérifier toutes mes
lignes
quand il arrive a la fin de le string (maligne6), si il a ajouté
exemple 3
lignes et que la fin est a range b25 au début et que 3 lignes ce sont
ajouté
il devrait être range b28 mais il arrête pareil a range b25 donc je
voudrais
savoir quoi faire pour changé ma string avec la nouvelle adresse

voici un bout de code

Dim xlSheet As Excel.Worksheet
MaLigne6 = Range("b3").End(xlDown).Address
MaLigne6 = Range(MaLigne6).Row

For Compteur2 = 3 To MaLigne6 Step 1
Range(Compteur2 & ":" & Compteur2).Select
Selection.RowHeight = 30.75
MaLigne6 = Range("b3").End(xlDown).Address
MaLigne6 = Range(MaLigne6).Row


merci a l'avance


Marc










LSteph
Le #4757511
Bonjour,
pour éviter le problème qd on supprime ou insère
boucler de bas en haut
step-1

mais pour y voir plus clair il faudrait que tu donne le code complet
car sur ce seul extrait je comprends pas bien où et comment sont
définies les compteur2 ligne6
et ce que vient faire cet xlsheet ni où finit et ce qui suit dans la
boucle.
D'ailleurs on ne voit pas non plus .insert donc où insère tu la ligne
Dim xlSheet As Excel.Worksheet
MaLigne6 = Range("b3").End(xlDown).Address
MaLigne6 = Range(MaLigne6).Row

For Compteur2 = 3 To MaLigne6 Step 1
Range(Compteur2 & ":" & Compteur2).Select
Selection.RowHeight = 30.75
MaLigne6 = Range("b3").End(xlDown).Address
MaLigne6 = Range(MaLigne6).Row

...

lSteph

Bonjour a tous.....

voilà mon problème, j'ai un fichier excel qui fonctionne selon les dates je
veux qui sépare a tous les semaine (pour ca ca va.... sauf que j'ai placé un
point d'arrêt (MaLigne6 = Range("b3").End(xlDown).Address) pour que mon
fichier ne se rend pas a 655... quelques ligne mais qui arrête a la fin des
lignes. du au fait que je fais une boucle pour vérifier toutes mes lignes
quand il arrive a la fin de le string (maligne6), si il a ajouté exemple 3
lignes et que la fin est a range b25 au début et que 3 lignes ce sont ajouté
il devrait être range b28 mais il arrête pareil a range b25 donc je voudrais
savoir quoi faire pour changé ma string avec la nouvelle adresse

voici un bout de code

Dim xlSheet As Excel.Worksheet
MaLigne6 = Range("b3").End(xlDown).Address
MaLigne6 = Range(MaLigne6).Row

For Compteur2 = 3 To MaLigne6 Step 1
Range(Compteur2 & ":" & Compteur2).Select
Selection.RowHeight = 30.75
MaLigne6 = Range("b3").End(xlDown).Address
MaLigne6 = Range(MaLigne6).Row


merci a l'avance


Marc




Marc
Le #4756921
voilà je te donne le code que je fais l'ajout d'une ligne

Sub InsertRowsAndFillFormulas_caller()
Dim xlSheet As Excel.Worksheet
MaLigne6 = Range("b3").End(xlDown).Address
MaLigne6 = Range(MaLigne6).Row

For Compteur2 = 3 To MaLigne6 Step 1
Range(Compteur2 & ":" & Compteur2).Select
Selection.RowHeight = 30.75
MaLigne6 = Range("b3").End(xlDown).Address
MaLigne6 = Range(MaLigne6).Row
MaLigne4 = ("d" & Compteur2)
C = Range(MaLigne4).Value
myWeekDay = C
myWeekDay = Format(myWeekDay, "dddd")
Select Case myWeekDay
Case "lundi"
If Range("d" & Compteur2 - 1).Value < Range("d" &
Compteur2).Value - 6 Then
If Range("b" & Compteur2 - 1).Value <> 1 Then
If Range("b" & Compteur2).Value <> 1 Then
Call InsertRows
Else
If Range("b" & Compteur2).Value = 1 Then
Range(Cells(ActiveCell.Row, 1),
Cells(ActiveCell.Row, 9)).Select
Selection.Interior.ColorIndex = 1
Selection.RowHeight = 4
Else
Selection.Rows.AutoFit
End If

End If
End If
End If
Case "mardi"
If Range("d" & Compteur2 - 1).Value < Range("d" &
Compteur2).Value - 6 Then
If Range("b" & Compteur2 - 1).Value <> 1 Then
If Range("b" & Compteur2).Value <> 1 Then
Call InsertRows
Else
If Range("b" & Compteur2).Value = 1 Then
Range(Cells(ActiveCell.Row, 1),
Cells(ActiveCell.Row, 9)).Select
Selection.Interior.ColorIndex = 1
Selection.RowHeight = 4
Else
Selection.Rows.AutoFit
End If

End If
End If
End If
Case "mercredi"
If Range("d" & Compteur2 - 1).Value < Range("d" &
Compteur2).Value - 6 Then

If Range("b" & Compteur2 - 1).Value <> 1 Then
If Range("b" & Compteur2).Value <> 1 Then
Call InsertRows
Else
If Range("b" & Compteur2).Value = 1 Then
Range(Cells(ActiveCell.Row, 1),
Cells(ActiveCell.Row, 9)).Select
Selection.Interior.ColorIndex = 1
Selection.RowHeight = 4
Else
Selection.Rows.AutoFit
End If

End If
End If
End If
Case "jeudi"
If Range("d" & Compteur2 - 1).Value < Range("d" &
Compteur2).Value - 6 Then
If Range("b" & Compteur2 - 1).Value <> 1 Then
If Range("b" & Compteur2).Value <> 1 Then
Call InsertRows
Else
If Range("b" & Compteur2).Value = 1 Then
Range(Cells(ActiveCell.Row, 1),
Cells(ActiveCell.Row, 9)).Select
Selection.Interior.ColorIndex = 1
Selection.RowHeight = 4
Else
Selection.Rows.AutoFit
End If

End If
End If
End If
Case "vendredi"
If Range("d" & Compteur2 - 1).Value < Range("d" &
Compteur2).Value - 6 Then
If Range("b" & Compteur2 - 1).Value <> 1 Then
If Range("b" & Compteur2).Value <> 1 Then
Call InsertRows
Else
If Range("b" & Compteur2).Value = 1 Then
Range(Cells(ActiveCell.Row, 1),
Cells(ActiveCell.Row, 9)).Select
Selection.Interior.ColorIndex = 1
Selection.RowHeight = 4
Else
Selection.Rows.AutoFit
End If

End If
End If
End If
End Select
' If myWeekDay = "lundi" Then
' If Range("d" & Compteur2).Row <> "3" Then
'
' If Range("b" & Compteur2 - 1).Value <> 1 Then
' If Range("b" & Compteur2).Value <> 1 Then
' Call InsertRows
' Else
' If Range("b" & Compteur2).Value = 1 Then
' Range(Cells(ActiveCell.Row, 1),
Cells(ActiveCell.Row, 9)).Select
' Selection.Interior.ColorIndex = 1
'' Selection.RowHeight = 4
' Else
' Selection.Rows.AutoFit
' End If
'
' End If
' End If
' End If
' End If
' If myWeekDay = "monday" Then
' If Range("d" & Compteur2).Row <> "3" Then
' If Range("b" & Compteur2 - 1).Value <> 1 Then
' If Range("b" & Compteur2).Value <> 1 Then
' Call InsertRows
' End If
' End If
' End If
'
' End If

Next Compteur2

End Sub


Sub InsertRows(Optional vRows As Long = 1)

Dim x As Long
If Range("d" & Compteur2).Value = Range("d" & Compteur2 - 1).Value Then
' Selection.RowHeight = 4
Exit Sub
Else
ActiveCell.EntireRow.Select

Dim sht As Worksheet, shts() As String, i As Long
ReDim shts(1 To Worksheets.Application.ActiveWorkbook. _
Windows(1).SelectedSheets.Count)
i = 0
For Each sht In _
Application.ActiveWorkbook.Windows(1).SelectedSheets
Sheets(sht.Name).Select
i = i + 1
shts(i) = sht.Name

x = Sheets(sht.Name).UsedRange.Rows.Count
Selection.Copy
Selection.Insert Shift:=xlUp
Selection.RowHeight = 4
Range(Cells(ActiveCell.Row, 1), Cells(ActiveCell.Row, 9)).Select
Selection.Interior.ColorIndex = 1
Selection.Font.ColorIndex = 1

On Error Resume Next
Range("b" & Compteur2).Value = 1
Range("f" & Compteur2).Value = ligne
Compteur2 = (Compteur2 + 1)
MaLigne6 = MaLigne6 + 1
gstrAdd = Compteur2
Next sht
Worksheets(shts).Select
End If
End Sub




Bonjour,
pour éviter le problème qd on supprime ou insère
boucler de bas en haut
step-1

mais pour y voir plus clair il faudrait que tu donne le code complet
car sur ce seul extrait je comprends pas bien où et comment sont
définies les compteur2 ligne6
et ce que vient faire cet xlsheet ni où finit et ce qui suit dans la
boucle.
D'ailleurs on ne voit pas non plus .insert donc où insère tu la ligne
Dim xlSheet As Excel.Worksheet
MaLigne6 = Range("b3").End(xlDown).Address
MaLigne6 = Range(MaLigne6).Row

For Compteur2 = 3 To MaLigne6 Step 1
Range(Compteur2 & ":" & Compteur2).Select
Selection.RowHeight = 30.75
MaLigne6 = Range("b3").End(xlDown).Address
MaLigne6 = Range(MaLigne6).Row

....

lSteph

Bonjour a tous.....

voilà mon problème, j'ai un fichier excel qui fonctionne selon les dates je
veux qui sépare a tous les semaine (pour ca ca va.... sauf que j'ai placé un
point d'arrêt (MaLigne6 = Range("b3").End(xlDown).Address) pour que mon
fichier ne se rend pas a 655... quelques ligne mais qui arrête a la fin des
lignes. du au fait que je fais une boucle pour vérifier toutes mes lignes
quand il arrive a la fin de le string (maligne6), si il a ajouté exemple 3
lignes et que la fin est a range b25 au début et que 3 lignes ce sont ajouté
il devrait être range b28 mais il arrête pareil a range b25 donc je voudrais
savoir quoi faire pour changé ma string avec la nouvelle adresse

voici un bout de code

Dim xlSheet As Excel.Worksheet
MaLigne6 = Range("b3").End(xlDown).Address
MaLigne6 = Range(MaLigne6).Row

For Compteur2 = 3 To MaLigne6 Step 1
Range(Compteur2 & ":" & Compteur2).Select
Selection.RowHeight = 30.75
MaLigne6 = Range("b3").End(xlDown).Address
MaLigne6 = Range(MaLigne6).Row


merci a l'avance


Marc







MichDenis
Le #4756881
Il y a aussi ceci :

http://cjoint.com/?jdeW1vBczy




"Marc"
Bonjour a tous.....

voilà mon problème, j'ai un fichier excel qui fonctionne selon les dates je
veux qui sépare a tous les semaine (pour ca ca va.... sauf que j'ai placé un
point d'arrêt (MaLigne6 = Range("b3").End(xlDown).Address) pour que mon
fichier ne se rend pas a 655... quelques ligne mais qui arrête a la fin des
lignes. du au fait que je fais une boucle pour vérifier toutes mes lignes
quand il arrive a la fin de le string (maligne6), si il a ajouté exemple 3
lignes et que la fin est a range b25 au début et que 3 lignes ce sont ajouté
il devrait être range b28 mais il arrête pareil a range b25 donc je voudrais
savoir quoi faire pour changé ma string avec la nouvelle adresse

voici un bout de code

Dim xlSheet As Excel.Worksheet
MaLigne6 = Range("b3").End(xlDown).Address
MaLigne6 = Range(MaLigne6).Row

For Compteur2 = 3 To MaLigne6 Step 1
Range(Compteur2 & ":" & Compteur2).Select
Selection.RowHeight = 30.75
MaLigne6 = Range("b3").End(xlDown).Address
MaLigne6 = Range(MaLigne6).Row


merci a l'avance


Marc
MichDenis
Le #4756871
La commande SendKeys "~" est à supprimer
dans la procédure NCommandComment
c'est un résidu oblié de la procédure originel.



"Marc"
Bonjour a tous.....

voilà mon problème, j'ai un fichier excel qui fonctionne selon les dates je
veux qui sépare a tous les semaine (pour ca ca va.... sauf que j'ai placé un
point d'arrêt (MaLigne6 = Range("b3").End(xlDown).Address) pour que mon
fichier ne se rend pas a 655... quelques ligne mais qui arrête a la fin des
lignes. du au fait que je fais une boucle pour vérifier toutes mes lignes
quand il arrive a la fin de le string (maligne6), si il a ajouté exemple 3
lignes et que la fin est a range b25 au début et que 3 lignes ce sont ajouté
il devrait être range b28 mais il arrête pareil a range b25 donc je voudrais
savoir quoi faire pour changé ma string avec la nouvelle adresse

voici un bout de code

Dim xlSheet As Excel.Worksheet
MaLigne6 = Range("b3").End(xlDown).Address
MaLigne6 = Range(MaLigne6).Row

For Compteur2 = 3 To MaLigne6 Step 1
Range(Compteur2 & ":" & Compteur2).Select
Selection.RowHeight = 30.75
MaLigne6 = Range("b3").End(xlDown).Address
MaLigne6 = Range(MaLigne6).Row


merci a l'avance


Marc
MichDenis
Le #4756851
Erreur d'aiguillage !



"MichDenis"
La commande SendKeys "~" est à supprimer
dans la procédure NCommandComment
c'est un résidu oblié de la procédure originel.



"Marc"
Bonjour a tous.....

voilà mon problème, j'ai un fichier excel qui fonctionne selon les dates je
veux qui sépare a tous les semaine (pour ca ca va.... sauf que j'ai placé un
point d'arrêt (MaLigne6 = Range("b3").End(xlDown).Address) pour que mon
fichier ne se rend pas a 655... quelques ligne mais qui arrête a la fin des
lignes. du au fait que je fais une boucle pour vérifier toutes mes lignes
quand il arrive a la fin de le string (maligne6), si il a ajouté exemple 3
lignes et que la fin est a range b25 au début et que 3 lignes ce sont ajouté
il devrait être range b28 mais il arrête pareil a range b25 donc je voudrais
savoir quoi faire pour changé ma string avec la nouvelle adresse

voici un bout de code

Dim xlSheet As Excel.Worksheet
MaLigne6 = Range("b3").End(xlDown).Address
MaLigne6 = Range(MaLigne6).Row

For Compteur2 = 3 To MaLigne6 Step 1
Range(Compteur2 & ":" & Compteur2).Select
Selection.RowHeight = 30.75
MaLigne6 = Range("b3").End(xlDown).Address
MaLigne6 = Range(MaLigne6).Row


merci a l'avance


Marc
Marc
Le #4756481
je te fait parvenir le fichier au complet
http://cjoint.com/?jdpsyk6ADj


Il y a aussi ceci :

http://cjoint.com/?jdeW1vBczy




"Marc"
Bonjour a tous.....

voilà mon problème, j'ai un fichier excel qui fonctionne selon les dates je
veux qui sépare a tous les semaine (pour ca ca va.... sauf que j'ai placé un
point d'arrêt (MaLigne6 = Range("b3").End(xlDown).Address) pour que mon
fichier ne se rend pas a 655... quelques ligne mais qui arrête a la fin des
lignes. du au fait que je fais une boucle pour vérifier toutes mes lignes
quand il arrive a la fin de le string (maligne6), si il a ajouté exemple 3
lignes et que la fin est a range b25 au début et que 3 lignes ce sont ajouté
il devrait être range b28 mais il arrête pareil a range b25 donc je voudrais
savoir quoi faire pour changé ma string avec la nouvelle adresse

voici un bout de code

Dim xlSheet As Excel.Worksheet
MaLigne6 = Range("b3").End(xlDown).Address
MaLigne6 = Range(MaLigne6).Row

For Compteur2 = 3 To MaLigne6 Step 1
Range(Compteur2 & ":" & Compteur2).Select
Selection.RowHeight = 30.75
MaLigne6 = Range("b3").End(xlDown).Address
MaLigne6 = Range(MaLigne6).Row


merci a l'avance


Marc






Publicité
Poster une réponse
Anonyme