INDEX + EQUIV

j'ai oublié de preciser que la cellule B1 est variable en faite ici la valeur est 5 mais cela change selon la semaine que je renseigne


bonjour Steelson,

c'est bon j'ai trouvé le code qui fonctionne

voici

Range("A5:B5").Resize(Range("B1")).FillDown

sophiane a écrit :
Range("A5:B5").Resize(Range("B1")).FillDown

Merci pour ce tuyau !

steelson,

à tout hasard sais-tu comment concatener en VBA

j'aimerais rajouter une concatenation au code ci-dessous avec les cellule C1 et A1 de l'onglet SIMULATEUR

Dim References As Object

Set References = CreateObject("Scripting.Dictionary")

Sheets("SIMULATEUR").Select

lig = Range("D5").Row

col = Range("D5").Column

Do Until Cells(lig, col).Value = ""

Do Until Cells(lig, col).Value = ""

References(Cells(lig, col).Value) = Cells(lig, col).Value

col = col + 1

Loop

col = Range("C5").Column

lig = lig + 1

Loop

Sheets("TEST").Select

Columns("A:A").ClearContents

Range("A1") = "MATIERE"

Range("B1") = "STOCK DISPO"

Range("C1") = "QUANTITE BESOIN"

Range("D1") = "STOCK RESTANT"

Cells(Range("A2").Row, Range("A2").Column).Resize(References.Count) = Application.Transpose(References.Items)

sophiane a écrit :

à tout hasard sais-tu comment concatener en VBA

J'utilise tout simplement &

exemple

Cells(1,3) = Cells(1,1) & Cells(1,2)

oui mais dans le code que je te mentioné sa ne fonctionne pas à quelle niveau dois-je faire cela

J'avoue que je suis une peu perdu ... je n'avais pas regardé ton code qui du reste est bien écrit ! tu dois donc avoir un niveau assez intéressant en VBA.

J'ai juste répondu sur l'opérateur de concaténation ...

pas de souci je vais essayer de trouver une solution

sais tu comment copier coller une valeur et non une formule ?

1ère possibilité : faire un apprentissaage de collage spécial valeurs !

Ceci doit aussi fonctionner :

Cells(i,j).copy destination:= ______________ 

à essayer sur un bout de fichier


Non, la seconde possibilité recopie aussi les formules.

Bon cela doit être simple, je vais chercher ...

N'hésite pas à rechercher sur le forum des réponses approchées :

https://forum.excel-pratique.com/excel/copier-la-valeur-d-une-cellule-en-vba-t21200.html?#p120562

Sub Recopie()
  Sheets("recap").Range("B30:F40").ClearContents
  Sheets("mvts").Range("B14:F19").Copy
  Sheets("recap").Range("B8").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False

End Sub
 

En fait c'est plus compliqué que ca jai realisé une macro qui me copie x fois la valeur de chaque cellule de la colonne A

X represente un nombre variable aussi

Exemple feuille 1

A1 B1

toto 10

soso 12

rara 8

Resultat en feuille 2 cellule A1

toto de A1 a A10

soso de A11 a A22

sachant quen feuille 1 colonne A il sagit de resultat de resultat de formule du coup quand je recopie en macro il me renvoi une erreur car formule et non texte

bonjour Steelson,

comment vas-tu ?peux-tu me dire comment copier toutes les valeurs à partir d'une colonne E jusqu'a X colonne (plage variable) mais en recopiant aussi les doublons

tu m'avais donné ce code qui fonctionne parfaitement mais qui supprime les doublons

Dim References As Object

Set References = CreateObject("Scripting.Dictionary")

Sheets("SIMULATEUR").Select

lig = Range("E5").Row

col = Range("E5").Column

Do Until Cells(lig, col).Value = ""

Do Until Cells(lig, col).Value = ""

References(Cells(lig, col).Value) = Cells(lig, col).Value

col = col + 1

Loop

col = Range("E5").Column

lig = lig + 1

Loop

Sheets("TEST").Select

Columns("B:B").ClearContents

Range("B1") = "MATIERE"

Cells(Range("B2").Row, Range("B2").Column).Resize(References.Count) = Application.Transpose(References.Items)

Rechercher des sujets similaires à "index equiv"