Bonsoir à tous,

Je suis débutant en VBA, mais j'utilise régulièrement d'autres languages de programmation.

Je rencontre un souci avec le code suivant :

Pour expliquer le but de la sous-routine en synthèse : vérifier dans la sélection que je fais à la souris avant de lancer la macro si les champs sont vides; lorsqu'elle tombe sur un champ non vide, je veux qu'elle vérifie dans un autre onglet si elle trouve la valeur de la case non vide dans la première colonne. Si elle la trouve, je veux qu'elle copie la valeur de la cellule située deux colonnes avant la cellule non-vide, dans la seconde colonne de l'autre onglet. J'espère que c'est clair.

Quand je la lance, je sélectionne la colonne dans laquelle je veux qu ecette recherche s'effectue et je lance la macro : j'ai une fenêtre avec une crois blanche sur un fond rouge avec marqué à côté : 400...

Juste après cette erreur, je constate que la cellule active est dans la deuxième colonne de l'autre onglet, donc l'opération s'est bien déroulée une fois, mais la cellule est vide, donc j'en déduis qu'il y a un souci avec le copier-coller

Merci pour votre aide si vous avez des idées...
Bonne soirée

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
Option Explicit
 
Sub Regrouper()
 
Dim cellule As Range
Dim j As Integer
 
 
For Each cellule In Selection
 
    If Not IsEmpty(cellule) Then
        ActiveCell.Offset(0, -2).Select
        Selection.Copy
 
        Sheets("Groupe").Activate
 
        For j = 1 To 789
            If cellule.Value = Cells(j, 1) Then
                Cells(j, 2).Select
                ActiveSheet.Paste
            End If
        Next j
 
    End If
 
Next cellule
 
End Sub