Mastamacro
XLDnaute Nouveau
Salutations
Bien je m'explique :
Je commence tout juste à comprendre le language VBA et à le manipuler sans que je ne plante à chaque ligne
Malheureusement même si la macro est bonne, le résultat obtenu n'est pas toujours celui escompté.
Ma situation :
J'ai une page contenant des pièces (données : section, etat, intitulé, date,etc...)
Il faut que je crée un onglets par rapport aux section et recopier les lignes correspondantes.
Exemple : Onglet ART
----> recopier section TR1, TR2, TR3 (la section est la colonne 3)
J'ai effectué le plus dur je pense, mon seul soucis est que la selection ne s'effectue pas sur toutes les lignes qui devraient être recopiées.
Voici une partie de mon code :
Dim NbLigne As Integer
NbLigne = 0
' Selection page principale nommée SOMMAIRE et selection colonne C1
Sheets("SOMMAIRE").Select
Range("C1").Select
'Selection feuille RTK position A1
Sheets("RTK").Select
Range("A1").Select
' Boucle Recherche Copier/Coller de SOMMAIRE à RTK
Do Until ActiveCell = ""
Sheets("SOMMAIRE").Select
ActiveCell.Offset(1, 0).Select
cel = ActiveCell.Value
RES = ""
If (cel = "KR1" Or cel = "KR2" Or cel = "KR3" Or cel = "UPR") Then
RES = "RTK"
Selection.EntireRow.Select (mon soucis se situe ici je pense)
Selection.Copy
Sheets("RTK").Select
IRTK = IRTK + 1
ActiveCell.Offset(1, 0).Select
ActiveSheet.Paste
End If
Loop
' Selection page principale nommée SOMMAIRE et selection colonne C1
Sheets("SOMMAIRE").Select
Range("C1").Select
'Selection feuille RQK position A1
Sheets("RQK").Select
Range("A1").Select
' Boucle Recherche Copier/Coller de SOMMAIRE à RQK
Do Until ActiveCell = ""
Sheets("SOMMAIRE").Select
ActiveCell.Offset(1, 0).Select
cel = ActiveCell.Value
RES = ""
If (cel = "SPR") Then
RES = "RQK"
Selection.EntireRow.Select
Selection.Copy
Sheets("RQK").Select
IRQK = IRQK + 1
ActiveCell.Offset(1, 0).Select
ActiveSheet.Paste
Voilà en esperant avoir été assez clair.
Je vous remercie d'avance pour l'attention que vous allez porter à mon post.
Cordialement,
Bien je m'explique :
Je commence tout juste à comprendre le language VBA et à le manipuler sans que je ne plante à chaque ligne
Malheureusement même si la macro est bonne, le résultat obtenu n'est pas toujours celui escompté.
Ma situation :
J'ai une page contenant des pièces (données : section, etat, intitulé, date,etc...)
Il faut que je crée un onglets par rapport aux section et recopier les lignes correspondantes.
Exemple : Onglet ART
----> recopier section TR1, TR2, TR3 (la section est la colonne 3)
J'ai effectué le plus dur je pense, mon seul soucis est que la selection ne s'effectue pas sur toutes les lignes qui devraient être recopiées.
Voici une partie de mon code :
Dim NbLigne As Integer
NbLigne = 0
' Selection page principale nommée SOMMAIRE et selection colonne C1
Sheets("SOMMAIRE").Select
Range("C1").Select
'Selection feuille RTK position A1
Sheets("RTK").Select
Range("A1").Select
' Boucle Recherche Copier/Coller de SOMMAIRE à RTK
Do Until ActiveCell = ""
Sheets("SOMMAIRE").Select
ActiveCell.Offset(1, 0).Select
cel = ActiveCell.Value
RES = ""
If (cel = "KR1" Or cel = "KR2" Or cel = "KR3" Or cel = "UPR") Then
RES = "RTK"
Selection.EntireRow.Select (mon soucis se situe ici je pense)
Selection.Copy
Sheets("RTK").Select
IRTK = IRTK + 1
ActiveCell.Offset(1, 0).Select
ActiveSheet.Paste
End If
Loop
' Selection page principale nommée SOMMAIRE et selection colonne C1
Sheets("SOMMAIRE").Select
Range("C1").Select
'Selection feuille RQK position A1
Sheets("RQK").Select
Range("A1").Select
' Boucle Recherche Copier/Coller de SOMMAIRE à RQK
Do Until ActiveCell = ""
Sheets("SOMMAIRE").Select
ActiveCell.Offset(1, 0).Select
cel = ActiveCell.Value
RES = ""
If (cel = "SPR") Then
RES = "RQK"
Selection.EntireRow.Select
Selection.Copy
Sheets("RQK").Select
IRQK = IRQK + 1
ActiveCell.Offset(1, 0).Select
ActiveSheet.Paste
Voilà en esperant avoir été assez clair.
Je vous remercie d'avance pour l'attention que vous allez porter à mon post.
Cordialement,