Rajouter par VBA des lignes vides et des sommes dans un tabl
Résolu/Fermé
Dreampower75
Messages postés
88
Date d'inscription
jeudi 28 janvier 2021
Statut
Membre
Dernière intervention
18 juin 2022
-
Modifié le 25 avril 2022 à 11:09
yg_be Messages postés 23444 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 25 janvier 2025 - 25 avril 2022 à 10:58
yg_be Messages postés 23444 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 25 janvier 2025 - 25 avril 2022 à 10:58
A voir également:
- Rajouter par VBA des lignes vides et des sommes dans un tabl
- Table des matières word - Guide
- Partager des photos en ligne - Guide
- Excel trier par ordre alphabétique en gardant les lignes - Guide
- Aller à la ligne dans une cellule excel - Guide
- Table des caractères ascii - Guide
1 réponse
Dreampower75
Messages postés
88
Date d'inscription
jeudi 28 janvier 2021
Statut
Membre
Dernière intervention
18 juin 2022
2
25 avril 2022 à 10:44
25 avril 2022 à 10:44
Bonjour Forum
J'ai trouvé la solution :
Merci beaucoup
Sub Extraire()
Dim Titre, dt As Integer, ws As Worksheet, cel As Range, n As Integer, dest As Range
Dim Deb As Long
Set ws = ThisWorkbook.Worksheets("Détail des risques")
With ws
.UsedRange.Offset(21, 0).Clear
End With
With Sheets("BDGT")
For Each cel In .Range("A11:A" & .Range("A" & Rows.Count).End(xlUp).Row)
If cel.Offset(, 1) Like "*RISK*" Then
dt = ws.Cells(Rows.Count, 1).End(xlUp).Row + 1
ws.Range("A" & dt) = cel.Offset(, 1)
ws.Range("B" & dt) = cel.Offset(, 2)
ws.Range("I" & dt) = cel.Offset(, 6)
End If
Next cel
End With
With ws
.Range("A" & dt + 1) = "Total"
.Range("I" & dt + 1).Formula = "=sum(I22:I" & dt & ")"
End With
dt = dt + 4 '+4 à ajuster selon le nombre de lignes à insérer
Deb = dt 'sauvegarde de la première ligne pour les OPPORT
'''''''''''''''''''''''''''''''''''''''''''''''''''''''
With Sheets("BDGT")
For Each cel In .Range("A11:A" & .Range("A" & Rows.Count).End(xlUp).Row)
If cel.Offset(, 1) Like "*OPPOR*" Then
'dt = ws.Cells(Rows.Count, 1).End(xlUp).Row + 1
ws.Range("A" & dt) = cel.Offset(, 1)
ws.Range("B" & dt) = cel.Offset(, 2)
ws.Range("I" & dt) = cel.Offset(, 6)
dt = dt + 1
End If
Next cel
End With
With ws
.Range("A" & dt) = "Total"
.Range("I" & dt).Formula = "=sum(I" & Deb & ":I" & dt & ")"
End With
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''
End Sub
J'ai trouvé la solution :
Merci beaucoup
Sub Extraire()
Dim Titre, dt As Integer, ws As Worksheet, cel As Range, n As Integer, dest As Range
Dim Deb As Long
Set ws = ThisWorkbook.Worksheets("Détail des risques")
With ws
.UsedRange.Offset(21, 0).Clear
End With
With Sheets("BDGT")
For Each cel In .Range("A11:A" & .Range("A" & Rows.Count).End(xlUp).Row)
If cel.Offset(, 1) Like "*RISK*" Then
dt = ws.Cells(Rows.Count, 1).End(xlUp).Row + 1
ws.Range("A" & dt) = cel.Offset(, 1)
ws.Range("B" & dt) = cel.Offset(, 2)
ws.Range("I" & dt) = cel.Offset(, 6)
End If
Next cel
End With
With ws
.Range("A" & dt + 1) = "Total"
.Range("I" & dt + 1).Formula = "=sum(I22:I" & dt & ")"
End With
dt = dt + 4 '+4 à ajuster selon le nombre de lignes à insérer
Deb = dt 'sauvegarde de la première ligne pour les OPPORT
'''''''''''''''''''''''''''''''''''''''''''''''''''''''
With Sheets("BDGT")
For Each cel In .Range("A11:A" & .Range("A" & Rows.Count).End(xlUp).Row)
If cel.Offset(, 1) Like "*OPPOR*" Then
'dt = ws.Cells(Rows.Count, 1).End(xlUp).Row + 1
ws.Range("A" & dt) = cel.Offset(, 1)
ws.Range("B" & dt) = cel.Offset(, 2)
ws.Range("I" & dt) = cel.Offset(, 6)
dt = dt + 1
End If
Next cel
End With
With ws
.Range("A" & dt) = "Total"
.Range("I" & dt).Formula = "=sum(I" & Deb & ":I" & dt & ")"
End With
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''
End Sub
25 avril 2022 à 10:58