Problème variable

Bonjour,

Cette macro fonctionne bien quand i=nombre

Or quand je mais i=Application.CountA([A32:A41]), il ne se passe rien.

auriez vous une solution?

Merci par avance.

Sub Macro3()

Dim Row As Long, LeRep1 As String, nomfichier

nomfichier = ThisWorkbook.Name

LeRep1 = ThisWorkbook.Path & "\Exploitation des données retouche.xlsx" ' à adapter"

Workbooks.Open Filename:= _

LeRep1

i = Application.CountA([A32:A41])

For c = 1 To i

Windows(nomfichier).Activate

Range("C4").Copy

Windows("Exploitation des données retouche.xlsx").Activate

Row = Range("C" & Rows.Count).End(xlUp).Row + 1

Cells(Row, 3).PasteSpecial Paste:=xlPasteValues

Application.CutCopyMode = 0

Next c

For d = 1 To i

Windows(nomfichier).Activate

Range("H44").Copy

Windows("Exploitation des données retouche.xlsx").Activate

Row = Range("D" & Rows.Count).End(xlUp).Row + 1

Cells(Row, 4).PasteSpecial Paste:=xlPasteValues

Application.CutCopyMode = 0

Next d

End Sub

Bonsoir grorkal,

As-tu essayé d'écrire sous la forme suivante ?

i = Application.CountA(Range("A32:A41"))

aucun effet

Et sans le Range ?

i = Application.CountA("A32:A41")

Ou peut-être qu'il faut ajouter un Worksheetfunction...

i = WorksheetFunction.CountA("A32:A41")

re,

Sub Macro6()

[B11] = Application.CountA(Range("A32:A41"))

End Sub

quand j'applique cette macro, le résultat en B11 est de 6, chiffre qui est correct pourtant la macro générale aucun effet

Si j'applique les 2 dernières macros que tu m'as conseillé le résultat est de 1, ce qui n'est pas correct. Pourtant la macro générale s'exécute mais en faisant qu'une boucle puisque le résultat est de 1.

Merci tout de même pour ton aide.

Re

Je viens de trouver, j'ai rajouter avant la variable i le windowx.... car j'allais pas chercher les bonnes valeurs dans le bon fichier.

Merci

Sub Macro3()

Dim Row As Long, LeRep1 As String, nomfichier

nomfichier = ThisWorkbook.Name

LeRep1 = ThisWorkbook.Path & "\Exploitation des données retouche.xlsx" ' à adapter"

Workbooks.Open Filename:= _

LeRep1

Windows(nomfichier).Activate

i = Application.CountA(Range(["A32:A41"]))

For c = 1 To i

Windows(nomfichier).Activate

Range("C4").Copy

Windows("Exploitation des données retouche.xlsx").Activate

Row = Range("C" & Rows.Count).End(xlUp).Row + 1

Cells(Row, 3).PasteSpecial Paste:=xlPasteValues

Application.CutCopyMode = 0

Next c

For d = 1 To i

Windows(nomfichier).Activate

Range("H44").Copy

Windows("Exploitation des données retouche.xlsx").Activate

Row = Range("D" & Rows.Count).End(xlUp).Row + 1

Cells(Row, 4).PasteSpecial Paste:=xlPasteValues

Application.CutCopyMode = 0

Next d

End Sub

Rechercher des sujets similaires à "probleme variable"