OVH Cloud OVH Cloud

Calculs sur des caracteres

3 réponses
Avatar
JLuc
Boujour à toutes et à tous,
Voila, j'ai un petit probleme de calcul qui peut se faire en C mais
apparement pas en VBa : x = Val("C") - Val("A")
Quelqu'un saurait il contourner le problème ?
En fait, je récupère l'adresse complete d'un tableau nommer et je
voudrais faire une boucle de colonne debut a colonne fin avec a
l'interieur une autre boucle de ligne debut a ligne fin.

Sub RempliEtTrie()
'Recuperation de l'adresse du tableau N1
' du nom de la feuille
' de l'adreese de debut
' de l'adresse de fin
adr1 = Range("Tab1").Cells
onglet1 = Mid$(Range("Tab1").Name, 2, InStr(1, _
Range("Tab1").Name, "!") - 2)
adrdeb1 = Left$(adr1, InStr(1, adr1, ":") - 1)
adrfin1 = Right$(adr1, Len(adr1) - InStr(1, _
adr1, ":"))

'Recuperation de l'adresse du tableau N2
' du nom de la feuille
' de l'adreese de debut
' de l'adresse de fin
adr2 = Range("Tab2").Address
onglet2 = Mid$(Range("Tab2").Name, 2, InStr(1, _
Range("Tab2").Name, "!") - 2)
adrdeb2 = Left$(adr2, InStr(1, adr2, ":") - 1)
adrfin2 = Right$(adr2, Len(adr1) - InStr(1, _
adr2, ":"))
x = Val("C") - Val("A")
'Recopie du premier tableau
For i = Val((Mid$(adrdeb1, 2, InStr(2, adrdeb1, "$") - 2) + 1) - "A") _
To Val((Right$(adrfin1, Len(adrfin1) - InStr(2, adrfin1, "$")) _
+ 1) - "A")
'Travail a effectuer
Next
End Sub

Merci d'avance pour les ames charitables
JLuc

--
Pour m'ecrire directement :
jeanluc.laurent@free.fr
Tomorrow is another day

3 réponses

Avatar
JLuc
Bonjour à toutes à tous et à bourby qui nous a tapoter de ses petits
doigt ce qui suit :

bonjour,

Pour faire une boucle sur les colonnes et boucles d'une plage, pas besoin de
s'emb^ter avec sa position dans la feuille; Excel fournit tout ce qu'il faut:
c'est un tbleur, quand-même...
la première ligne est Range("Tab1").row
le nb de lignes est Range("Tab1").rows.count
pour les colonnes, remplacer row par column
Et utiliser with range("Tab1") .... end with
pour éviter les lourdeurs

Cordialement

Bourby


Merci de ta reponse rapide, je teste et je te tiens au courant :-)
JLuc

--
Pour m'ecrire directement :

Tomorrow is another day

Avatar
bourby
bonjour,

Pour faire une boucle sur les colonnes et boucles d'une plage, pas
besoin de s'emb^ter avec sa position dans la feuille; Excel fournit tout
ce qu'il faut: c'est un tbleur, quand-même...
la première ligne est Range("Tab1").row
le nb de lignes est Range("Tab1").rows.count
pour les colonnes, remplacer row par column
Et utiliser with range("Tab1") .... end with
pour éviter les lourdeurs

Cordialement

Bourby




JLuc wrote:
Boujour à toutes et à tous,
Voila, j'ai un petit probleme de calcul qui peut se faire en C mais
apparement pas en VBa : x = Val("C") - Val("A")
Quelqu'un saurait il contourner le problème ?
En fait, je récupère l'adresse complete d'un tableau nommer et je
voudrais faire une boucle de colonne debut a colonne fin avec a
l'interieur une autre boucle de ligne debut a ligne fin.

Sub RempliEtTrie()
'Recuperation de l'adresse du tableau N1
' du nom de la feuille
' de l'adreese de debut
' de l'adresse de fin
adr1 = Range("Tab1").Cells
onglet1 = Mid$(Range("Tab1").Name, 2, InStr(1, _
Range("Tab1").Name, "!") - 2)
adrdeb1 = Left$(adr1, InStr(1, adr1, ":") - 1)
adrfin1 = Right$(adr1, Len(adr1) - InStr(1, _
adr1, ":"))

'Recuperation de l'adresse du tableau N2
' du nom de la feuille
' de l'adreese de debut
' de l'adresse de fin
adr2 = Range("Tab2").Address
onglet2 = Mid$(Range("Tab2").Name, 2, InStr(1, _
Range("Tab2").Name, "!") - 2)
adrdeb2 = Left$(adr2, InStr(1, adr2, ":") - 1)
adrfin2 = Right$(adr2, Len(adr1) - InStr(1, _
adr2, ":"))
x = Val("C") - Val("A")
'Recopie du premier tableau
For i = Val((Mid$(adrdeb1, 2, InStr(2, adrdeb1, "$") - 2) + 1) - "A") _
To Val((Right$(adrfin1, Len(adrfin1) - InStr(2, adrfin1, "$")) _
+ 1) - "A")
'Travail a effectuer
Next
End Sub

Merci d'avance pour les ames charitables
JLuc



Avatar
JLuc
Bonjour à toutes à tous et à bourby qui nous a tapoter de ses petits
doigt ce qui suit :

bonjour,

Pour faire une boucle sur les colonnes et boucles d'une plage, pas besoin de
s'emb^ter avec sa position dans la feuille; Excel fournit tout ce qu'il faut:
c'est un tbleur, quand-même...
la première ligne est Range("Tab1").row
le nb de lignes est Range("Tab1").rows.count
pour les colonnes, remplacer row par column
Et utiliser with range("Tab1") .... end with
pour éviter les lourdeurs

Cordialement

Bourby




JLuc wrote:
Boujour à toutes et à tous,
Voila, j'ai un petit probleme de calcul qui peut se faire en C mais
apparement pas en VBa : x = Val("C") - Val("A")
Quelqu'un saurait il contourner le problème ?
En fait, je récupère l'adresse complete d'un tableau nommer et je voudrais
faire une boucle de colonne debut a colonne fin avec a l'interieur une
autre boucle de ligne debut a ligne fin.

Sub RempliEtTrie()
'Recuperation de l'adresse du tableau N1
' du nom de la feuille
' de l'adreese de debut
' de l'adresse de fin
adr1 = Range("Tab1").Cells
onglet1 = Mid$(Range("Tab1").Name, 2, InStr(1, _
Range("Tab1").Name, "!") - 2)
adrdeb1 = Left$(adr1, InStr(1, adr1, ":") - 1)
adrfin1 = Right$(adr1, Len(adr1) - InStr(1, _
adr1, ":"))

'Recuperation de l'adresse du tableau N2
' du nom de la feuille
' de l'adreese de debut
' de l'adresse de fin
adr2 = Range("Tab2").Address
onglet2 = Mid$(Range("Tab2").Name, 2, InStr(1, _
Range("Tab2").Name, "!") - 2)
adrdeb2 = Left$(adr2, InStr(1, adr2, ":") - 1)
adrfin2 = Right$(adr2, Len(adr1) - InStr(1, _
adr2, ":"))
x = Val("C") - Val("A")
'Recopie du premier tableau
For i = Val((Mid$(adrdeb1, 2, InStr(2, adrdeb1, "$") - 2) + 1) - "A") _
To Val((Right$(adrfin1, Len(adrfin1) - InStr(2, adrfin1, "$")) _
+ 1) - "A")
'Travail a effectuer
Next
End Sub

Merci d'avance pour les ames charitables
JLuc




Merci, merci, il me semblait avoir essayer et ca ne me donnait pas le
resultat escompte. Il faut croire que j'avais rajouter des betises en
plus car j'obtenais des variables tableau (adr(1,1),adr(1,2)...) :'(
Ton code me donne entiere satisfaction, bravo
JLuc

--
Pour m'ecrire directement :

Tomorrow is another day