Marculinos |
Le 13/10/2007 à 18:45 |
|
Viconaute Modérateur |
Merci J'en ai fait un au boulot récemment pour me faciliter la tâche. Il tient sur 23 pages A4 si je l'imprime. @+ |
Anthony |
Le 13/10/2007 à 18:47 |
|
Admin |
Y'a de quoi avoir le kiki tout dur avec ça -- |
Lebabs |
Le 13/10/2007 à 19:51 |
|
|
Bon boulot. Quand à moi, il serait temps que je m'y remette, car c'est incroyable à quelle vitesse je perds mes acquis. @+. -- D'une étincelle peut jaillir la lumière. |
Marculinos |
Le 13/10/2007 à 20:35 |
|
Viconaute Modérateur |
Antho a écrit :Y'a de quoi avoir le kiki tout dur avec ça Je suis pas programmeur PHP, moi. Je ne connais que le Basic et par extension le Visual Basic. Mais j'estime que, comparé à beaucoup de collègues de mon entreprise qui ne savent même pas élaborer une simple formule (hormis une somme) sous Excel, je me débrouille plutôt pas mal, même si mes programmes ne sont pas toujours optimisés et comportent parfois quelques lourdeurs dûes à un manque de connaissances. On fait ce qu'on peut... |
Anthony |
Le 13/10/2007 à 20:42 |
|
Admin |
Le prends pas mal lol, tu sais être programmeur PHP ça vaut pas grand chose je disais juste ça pour me foutre de toi c'est tout je vaux pas mieux -- |
Wilder |
Le 13/10/2007 à 21:22 |
|
Viconaute Modérateur |
Une autre façon aussi serait:
Private Const Depart As Long = 1
Private Sub CommandButton1_Click()
Dim Ligne As Long
Ligne = (Range("A1").End(xlUp).Row)
Range("B" & Ligne) = (Range("A" & Ligne).Row)
Range("c" & Ligne) = (Range("A" & Ligne + 1).Row)
Range("d" & Ligne) = (Range("A" & Ligne + 2).Row)
Range("e" & Ligne) = (Range("A" & Ligne + 3).Row)
Range("f" & Ligne) = (Range("A" & Ligne + 4).Row)
'Supprimer lignes
Dim i As Long
Dim DLV As Long: DLV = FinLigneVide
For i = DLV To Depart Step -1
If Cells(i, 1).Value = vbNullString Or Cells(i, 2).Value = vbNullString Then Rows(i).Delete
Next i
End Sub
Private Function FinLigneVide() As Long
FinLigneVide = (Range("A1" & Ligne).Row + 4)
End Function
--
|
Marculinos |
Le 13/10/2007 à 21:44 |
|
Viconaute Modérateur |
J'ai recopié exactement ta macro, Wilder, mais elle ne marche pas chez moi... De plus, le bouton command_button1 remonte à chaque clic... |
Wilder |
Le 13/10/2007 à 21:46 |
|
Viconaute Modérateur |
Pourtant, moi ça fonctionne, même comme ça:
Private Const Depart As Long = 1
Private Sub CommandButton1_Click()
Dim Ligne As Long
Ligne = (Range("B1").End(xlUp).Row)
Range("B" & Ligne) = (Range("A" & Ligne).Row)
Range("c" & Ligne) = (Range("A" & Ligne + 1).Row)
Range("d" & Ligne) = (Range("A" & Ligne + 2).Row)
Range("e" & Ligne) = (Range("A" & Ligne + 3).Row)
Range("f" & Ligne) = (Range("A" & Ligne + 4).Row)
Ligne = (Range("B1").End(xlUp).Row + 5)
Range("B" & Ligne) = (Range("A" & Ligne).Row)
Range("c" & Ligne) = (Range("A" & Ligne + 1).Row)
Range("d" & Ligne) = (Range("A" & Ligne + 2).Row)
Range("e" & Ligne) = (Range("A" & Ligne + 3).Row)
Range("f" & Ligne) = (Range("A" & Ligne + 4).Row)
'Supprimer lignes
Dim i As Long
Dim DLV As Long: DLV = FinLigneVide
For i = DLV To Depart Step -1
If Cells(i, 1).Value = vbNullString Or Cells(i, 2).Value = vbNullString Then Rows(i).Delete
Next i
End Sub
Private Function FinLigneVide() As Long
Dim Ligne As Long
Ligne = (Range("B1").End(xlUp).Row)
FinLigneVide = (Range("A" & Ligne).Row + 4)
End Function
--
|
Marculinos |
Le 13/10/2007 à 21:50 |
|
Viconaute Modérateur |
Je te jure, moi ça remplit les lignes avec des chiffres...
Tu utilises quelle version d'excel?
@+ |
Wilder |
Le 13/10/2007 à 21:51 |
|
Viconaute Modérateur |
office 2003 --
|