Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

petit prob 2

K

k

Guest
Nous cherchons a réaliser une macro qui nous permette de
couper et de coller une ligne d'un tableau X dans un
tableau Y en ayant pour critère que deux colonnes bien
précises soient non-vides .

Voila le début de la macro réalisée, le problème est que
cette macro ne fait que copier et coller les deux
colonnes évoquées et non pas la ligne entière. Comment
peut-on a modifier ?


Sub Copie()
Set s = Selection
For i = 1 To s.Rows.Count
If s(i, 1) <> "" And s(i, 2) <> "" Then
k = k + 1
With Worksheets("Y")
.Cells(k, 1) = s(i, 1)
.Cells(k, 2) = s(i, 2)
End With
End If
Next i
End Sub
 
A

andré

Guest
Salut k,

Que voulez-vous faire, couper/coller ou copier/coller.
Les deux aproches sont différentes, le copier/coller étant réalisable sans macro (RechercheV).

André
 
J

Jean-Marie

Guest
Bonjour le forum

Une petite idée en passant

Au lieu de lire toute les lignes une à une (c'est long) pourquoi ne pas utiliser le filtre, selectionner la plage des lignes, copier et coller dans une autre feuille,
excel ne doit coller que les lignes sélectionées.

@+ Jean-Marie
 
A

andré

Guest
Salut Kémal,

Il s'agit donc bien d'un couper/coller, c'est à dire que tu veux extraire de ta feuille X toutes les lignes dans lesquelles les cellules de deux colonnes précises (par exemple M et N) ne sont pas vides et les coler dans la feuille Y.

Essaie la méthode suivante, elle me semble simple :
1. tu crées une colonne supplémentaire (A par exemple) dans ta feuille X.
2. tu copies la feuille X en la nommant Y.
3. dans la cellule A1 de ta feuille X tu tapes la formule : =SI(ET(M1="";N1="");"";"x") et tu tires cette formule vers le bas.
4. tu enclenches la macro de Ti que tu trouveras dans les derniers posts sur le forum (effacer les lignes vides)
4. dans la cellule A1 de ta feuille Y tu tapes la formule : SI(ET(M1="";N1="");"x";"") et tu tires cette formule vers le bas.
5. tu enclenches la même macro de Ti sur cette feuille.

Tu peux enregister le tout dans une macro.

André.
 

Discussions similaires

Réponses
4
Affichages
419
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…