Copie de cellules avec variable sur le numero de ligne

Bonjour,

J'essaie de faire une selection multiple de cellules pour les copier sur une autre feuille.

Mon problème c'est que j'ai une variable i sur le numéro de ligne.... du coup je n'arrive pas a faire la sélection..

j'ai écrit ca (mais ca ne marche pas):

Range("A & i:B" & i, "BD & i:BE" & i).Select

Des idées??

Merci à vous

Je mets le fichier en PJ.

La copie se fait dans le Sub_Usine() activé par le bouton deux dans feuil 1.

Bonjour

proposition de correction (non testée)

For i = j To 37

    'recherche si Usine pour copie dans feuille résultats Usine
    If Range("B" & i).Value = "Usine" Then
    Range("A" & i & ":B" & i & ",BD" & i & ":BE" & i).Select
    Selection.Copy

    Sheets("Usine").Activate
    Range("A" & x).Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False

    x = x + 1

    Else 'Si marché copie résultats dans feuille marché
   Range("A" & i & ":B" & i & ",BD" & i & ":BE" & i).Select
    Selection.Copy

    Sheets("Marche").Activate
    Range("A" & y).Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False

    y = y + 1

    Exit For
    End If
Next

Merci h2so4

Je teste tout de suite et si ça fonctionne ce sera une validation rapide et efficace.


Ce n'est finalement pas tout à fait ça, mais ca fonctionne déjà mieux qu'avant.

Au lieu de seulement copier 4 cases il copie toute la ligne...

Du coup comme tu m'as mis sur la voie, je vais voir si j'arrive à trouver tout seul.

En plus j'ai mon loop qui ne s'arrête jamais donc il faut que je le modifie aussi

merci encore

Salut Fanchon,

j'essaye de comprendre...

Bouton 1, calcul en Feuil1

If Len(Range("A" & i)) > 10

Il y a donc des références en A de moins de 10 caractères ? Dans ton fichier, il n'y en a pas...

Bouton 2.

Sauf erreur, (je n'ai pas essayé encore! Loop!?) sitôt après avoir affiché tes résultats en MARCHE et USINE, tu effaces tout??

Je vérifie tout à l'heure!

A+

salut curulis

le bouton la remarque que tu fais, en fait je test, pour trouver ceux ou il y a plus de 10 caracteres. les autres cases ont soit Zero soit dix caracteres.

mais mon bouton un fonctionne comme je le souhaite, pas forcement optimise mais j'ai le resultat

le bouton deux, le loop ne supprime pas les valeurs. d'ailleurs j'ai deja remodifier depuis pour que la boucle se fasse bien. pareil de ce cote la jai le resultats que je souhaite.

le seul probleme qu'il me reste jusqu'a present c'est la copie des cases. Actuellement et avec l'aide recu precedemment dans cette discussion, j'arrive a copier mais je copie la ligne complete au lieu de seulement les 4 case voulues qui sont Ai, Bi, BDi, BEi. avec i qui represente le numero de ligne.

Salut Fanchon,

ok, j'ai compris le truc! Premier bouton recodé!

Au suivant!

Je reviens tout à l'heure!

A+

Salut Fanchon,

voilà ton fichier, je pense, comme tu le désirais!

Maintenant, ne connaissant pas ta méthode de travail, ici, j'efface les résultats précédents en USINE et MARCHE.

Si tu gardes les résultats de recherche en recherche, il faudra un peu changer le code!

Les dernières lignes du bouton2 servent, j'imagine, à obtenir des chiffres ronds!

Il suffit de régler le format des colonnes en NOMBRE avec 0 décimales, ce que j'ai fait.

J'ai mis ces lignes de code en commentaires. A toi de voir!

Si tu as des modifs, tu sais où me trouver!

A+

29marcheusine.xlsm (39.65 Ko)

Super merci curulis!!!

Ca a l'air de marcher comme je voulais a part un petit truc mais je pense que je saurais le modifier tout seul

en fait dans la feuille marché je voulais toute les lignes ou c'est pas ecrit Usine, mais ne l'ayant pas precisé plus tot tu ne pouvais pas savoir

en tout cas, avec ca je vais apprendre beaucoup en code parce que je ne connaissais pas du tout la facon d'ecrire que tu utilises, moi j'etais encore avec les bases en essayant de combiner le tout pour que ca fonctionne

merci encore a toi et a tous ceuw qui m'ont aidé

Bonsoir Fanchon,

si je comprends bien ta demande et si tu as bien suivi l'idée du code , tu devrais avoir ceci dans ta Sub Usine() :

    For i = 3 To iRow
        If .Range("B" & i).Value = "Usine" Then
            iRow2 = iRow2 + 1
            .Range("A" & i & ":B" & i).Copy Destination:=Sheets("USINE").Range("A" & iRow2)
            .Range("BD" & i & ":BE" & i).Copy Destination:=Sheets("USINE").Range("C" & iRow2)
        Else
            iRow3 = iRow3 + 1
            .Range("A" & i & ":B" & i).Copy Destination:=Sheets("MARCHE").Range("A" & iRow3)
            .Range("BD" & i & ":BE" & i).Copy Destination:=Sheets("MARCHE").Range("C" & iRow3)
        End If
    Next

Bon travail!

A+

ouais c'est ca c'est ce que j'avais écrit

merci encore

Salut tout le monde,

Désolé je rouvre un peu le sujet... curulis dans ce que tu m'as donné il y a un truc que je n'ai finalement pas tres tres bien compris.

J'arrive a utiliser ton code et tes méthodes pour faire ce que je veux mais je comprends pas bien comment s'utilise le With?

en gros les boutons que j'avais mis sur la feuille ou je faisait tout les calculs je veux les mettre sur une autre feuille. sauf que quand j'applique le code, les calculs se font sur la feuille ou j'ai le bouton et non sur la feuille des calculs...

si vous pouvez m'aider?

merci beaucoup

Bonjour Fanchon,

... comprends pas très bien...

Tu peux me mettre ton fichier en m'indiquant ce que tu veux?

Je t'expliquerai alors beaucoup plus facilement!

A+

Bonjour curulis

C'est gentil mais j'ai finalement compris par moi même.

La différence entre ce que tu m'avais donné qui fonctionnait très bien et ce que j'écrivais était le point devant range ou cells.

J'ai finalement compris comment fonctionnait le With en découvrant cette petite chose.

en fait le with permet de donner l'adresse d'une cellule ou autre sans réécrire à chaque fois la totalité de la chose (exemple:Sheets("TOTO").Range("A1"))

merci donc pour ton aide mais je n'en aurais finalement pas besoin sur ce coup la.

Bonne continuation a toi et au plaisir de te lire ou peut etre aider un jour qui sait

Bonjour et bravo!

ce qu'on découvre par soi-même reste gravé dans la mémoire!

Bien à toi!

Rechercher des sujets similaires à "copie variable numero ligne"