Range, quel sont ces particularité ?

Résolu
ukos Messages postés 56 Date d'inscription lundi 22 novembre 2004 Statut Membre Dernière intervention 27 mai 2008 - 30 mai 2005 à 10:39
ukos Messages postés 56 Date d'inscription lundi 22 novembre 2004 Statut Membre Dernière intervention 27 mai 2008 - 30 mai 2005 à 17:29
Voila j aimerai savoir quel sont les particularité de Range .



j essaye de faire ceci :



Cell1 = Cells(ligneencours, 1)

Cell2 = Cells(ligneencours, 5)

fichiercsvimporter.Range(Cell1:Cell2).Select



C normal que ca marche pas ?



>> Solution ?



Merci beaucoup

7 réponses

valtrase Messages postés 937 Date d'inscription lundi 19 janvier 2004 Statut Membre Dernière intervention 9 mai 2022 3
30 mai 2005 à 14:33
Re,
Si tu veux connaitre la dernière ligne pleine de la colonne A utilises
LastRow = Cells(Cells.Rows.Count, "A").End(xlUp).Row
ou plus général
LastRow = Feuil1.UsedRange.Rows.Count
Cordialement, Jean-Paul
______________________________________________________________________

Le Savoir n'a de valeur que s'il est partagé
3
jpleroisse Messages postés 1788 Date d'inscription mardi 7 novembre 2000 Statut Membre Dernière intervention 11 mars 2006 27
30 mai 2005 à 11:18
Bonjour,

Oui c'est normal que ce code ne marche pas, mais pour t'aider ,
explique mieux ce que tu veux faire. Copier le contenu d'une cellule
vers une autre ??



jpleroisse
0
ukos Messages postés 56 Date d'inscription lundi 22 novembre 2004 Statut Membre Dernière intervention 27 mai 2008
30 mai 2005 à 11:37
non en fait je veut copier le contenue d'un fichier CSV que j importe
dans une feuille excel, puis copier les ligne une par une pour leur
attribuer un numero unique dans une feuille excel existante



voici mon code



Private Sub CommandButton1_Click()

Dim Ouvrirfichier As Variant

ChDir ("C:\Documents and Settings\All Users\Bureau")

Ouvrirfichier =
Application.GetOpenFilename(filefilter:="Comma-Separated Values File
CSV (*.csv),*.csv", FilterIndex:=1, Title:="Importer un fichier CSV",
MultiSelect:=False)

If Ouvrirfichier <> Faux Then

fichiercsvimporter.CSVURL = Ouvrirfichier

End If

End Sub



Private Sub CommandButton2_Click()

colone1 = fichiercsvimporter.Sheets(1).Cells(1, 1)

colone2 = fichiercsvimporter.Sheets(1).Cells(1, 2)

colone3 = fichiercsvimporter.Sheets(1).Cells(1, 3)

colone4 = fichiercsvimporter.Sheets(1).Cells(1, 4)

colone5 = fichiercsvimporter.Sheets(1).Cells(1, 5)

If colone1 <> "Nom" Then

nomcolone "Nom '" & colone1 & "'"

End If

If colone2 <> "Prenom" Then

If nomcolone <> "" Then

nomcolone = nomcolone & vbCrLf

End If

nomcolone nomcolone & "Prenom '" & colone2 & "'"

End If

If colone3 <> "Fonction" Then

If nomcolone <> "" Then

nomcolone = nomcolone & vbCrLf

End If

nomcolone nomcolone & "Fonction '" & colone3 & "'"

End If

If colone4 <> "Societe" Then

If nomcolone <> "" Then

nomcolone = nomcolone & vbCrLf

End If

nomcolone nomcolone & "Societe '" & colone4 & "'"

End If

If colone5 <> "Attribut" Then

If nomcolone <> "" Then

nomcolone = nomcolone & vbCrLf

End If

nomcolone nomcolone & "Attribut '" & colone5 & "'"

End If

If nomcolone <> "" Then

Response = MsgBox("Les Colones " & vbCrLf & nomcolone &
vbCrLf & " n'ont pû être retrouver! Verifier votre CSV et
réésayer.", vbYes, "Erreur")

End If

If Responce <> vbYes Then

totalligneincsv = fichiercsvimporter.Rows.Count

For ligneencours = 2 To totalligneincsv

fichiercsvimporter.Rows(ligneencours).Select

fichiercsvimporter.Selection.Copy

Application.Sheets(3).Activate

Cells(ligneencours, 2).Select

ActiveSheet.Paste

monrandom = Int(((100 * Rnd)
+ Rnd) * (Rnd + 1000) * Rnd * ((1000 + Rnd) * Rnd) + (1000 + (Rnd *
Rnd) + (158976614 * Rnd)))

monrandom = Left(monrandom, 8)

monrandom = monrandom & "1"

Cells(ligneencours, 1) = monrandom

Next ligneencours

End If



End Sub




c le rouge ki foire :/



merci de votre aide !
0
valtrase Messages postés 937 Date d'inscription lundi 19 janvier 2004 Statut Membre Dernière intervention 9 mai 2022 3
30 mai 2005 à 11:38
Lut pour l'affectation d'un objet Range tu dois utiliser l'instruction Set
Set Range1 = Range2
dans ton cas je pense que tu veux récupérer l'adresse de Cell1 et Cell2
en faisans Cell1 = Cells(ligneencours, 1) tu récupères la valeur de la cellule et non pas l'adresse.
Donc dans ton cas tu dois changer ton code comme ceci
Dim Cell1 , Cell2
Cell1 = Cells(ligneencours, 1).Address
Cell2 = Cells(ligneencours, 5).Address
fichiercsvimporter.Range(Cell1 & ":" & Cell2).Select

Cordialement, Jean-Paul
______________________________________________________________________

Le Savoir n'a de valeur que s'il est partagé
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
galopin01 Messages postés 133 Date d'inscription lundi 4 octobre 2004 Statut Membre Dernière intervention 14 octobre 2011 1
30 mai 2005 à 11:45
bonjour,
Cell1 = Cells(ligneencours, 1) est l'équivalent de
Cell1 = Cells(ligneencours, 1).Value
Il faut écrire :
Range(Cells(1, 1), Cells(1, 5)).Select

A+
0
ukos Messages postés 56 Date d'inscription lundi 22 novembre 2004 Statut Membre Dernière intervention 27 mai 2008
30 mai 2005 à 14:12
merci pour ca, ca fonctionne



mais il me reste encore 1 probleme : il boucle a l infinie ( pas tres pratique ;)



>> totalligneincsv = fichiercsvimporter.Rows.Count



mon comptage du total est incorrect quelqun a une suggetion ?
0
ukos Messages postés 56 Date d'inscription lundi 22 novembre 2004 Statut Membre Dernière intervention 27 mai 2008
30 mai 2005 à 17:29
ok merci beaucoup :D ca fonctionne kwel xD
0
Rejoignez-nous