Copier coller
Fermé
pat
-
Modifié le 5 nov. 2017 à 13:29
yg_be Messages postés 21303 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 18 mars 2023 - 5 nov. 2017 à 23:31
yg_be Messages postés 21303 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 18 mars 2023 - 5 nov. 2017 à 23:31
A voir également:
- Copier coller
- Dessin a copier coller ✓ - Forum Internet / Réseaux sociaux
- Coeur copier coller ✓ - Forum Internet / Réseaux sociaux
- Copier video youtube - Guide
- Super copier - Télécharger - Gestion de fichiers
- Zizi copier coller ✓ - Forum Internet / Réseaux sociaux
2 réponses
yg_be
Messages postés
21303
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
18 mars 2023
1 326
Modifié le 5 nov. 2017 à 15:54
Modifié le 5 nov. 2017 à 15:54
bonjour, je suggère ceci:
Sub completer_Base_de_donnée_1()
Dim dest As Range
Dim pave As Range, cell As Range
Dim vide As Boolean
Dim lig As Range, clig As Range
Dim lpave As Long
'----compléter Database 1
Set pave = Range("CT12:DN45")
lpave = pave.Columns.Count
Sheets("Base_de_donnée_1").Select
If ActiveSheet.AutoFilterMode = True Then ActiveSheet.AutoFilterMode = False
ActiveSheet.Range("A2").Select
Dim MyTable1 As ListObject
Set MyTable1 = Application.Worksheets("Base_de_donnée_1").ListObjects("Database1")
Dim LastRow As Long
LastRow = MyTable1.ListRows.Count + 2
ActiveSheet.Range("A" & LastRow).Select
If ActiveCell.Value <> "" Then
On Error Resume Next
ActiveCell.Offset(1, 0).Select
Err.Clear
End If
Set dest = Selection
For Each lig In pave.Rows
Set clig = Intersect(pave, lig)
vide = True
For Each cell In clig
If cell <> "" Then
vide = False
Exit For
End If
Next cell
If Not vide Then
dest.Resize(1, lpave).Cells.Value = clig.Cells.Value
Set dest = dest.Offset(1, 0)
End If
Next lig
'----compléter Database 2
End Sub
Merci Yg-be
a première vue ton code fonctionne parfaitement, je vais encore faire des test pendant quelques jour et j'espere que je ne verrais pas de bug apparaître!!
Donc tout ce que j'ai a dire en ce moment c'est MERCI!!!!!
a première vue ton code fonctionne parfaitement, je vais encore faire des test pendant quelques jour et j'espere que je ne verrais pas de bug apparaître!!
Donc tout ce que j'ai a dire en ce moment c'est MERCI!!!!!
yg_be
Messages postés
21303
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
18 mars 2023
1 326
5 nov. 2017 à 23:31
5 nov. 2017 à 23:31
petit changement:
Sub completer_Base_de_donnée_1()
Dim dest As Range
Dim pave As Range, cell As Range
Dim vide As Boolean
Dim lig As Range, clig As Range
'----compléter Database 1
Set pave = Range("CT12:DN45")
Sheets("Base_de_donnée_1").Select
If ActiveSheet.AutoFilterMode = True Then ActiveSheet.AutoFilterMode = False
ActiveSheet.Range("A2").Select
Dim MyTable1 As ListObject
Set MyTable1 = Application.Worksheets("Base_de_donnée_1").ListObjects("Database1")
Dim LastRow As Long
LastRow = MyTable1.ListRows.Count + 2
ActiveSheet.Range("A" & LastRow).Select
If ActiveCell.Value <> "" Then
On Error Resume Next
ActiveCell.Offset(1, 0).Select
Err.Clear
End If
Set dest = Selection.Resize(1, pave.Columns.Count)
For Each lig In pave.Rows
Set clig = Intersect(pave, lig)
vide = True
For Each cell In clig
If cell <> "" Then
vide = False
Exit For
End If
Next cell
If Not vide Then
dest.Cells.Value = clig.Cells.Value
Set dest = dest.Offset(1, 0)
End If
Next lig
'----compléter Database 2
End Sub