Copier valeur d'une colonne tant que ...
van_van
Messages postés
63
Statut
Membre
-
Utilisateur anonyme -
Utilisateur anonyme -
Bonjour,
J'ai vrm besoin de votre aide voila j'ai posté précedemment une question mais j'ai l'impression que personne ne sait brm comment faire donc j'ai reussit a faire quelque chose d'autre. Maintenant j'aimerais une autre chose.
dans la colonne J , cellule A1 j'ai BUREAU:00235 et apres toujours dans la colonne J de la cellule A2 à A 45 (par exemple, ca ne sera pas toujours 45) je n'ai plus rien , et apres en A 46 j'ai BUREAU:00254 et ainsi de suite et ce que je voudrais, c'est que des que le programme renconte un numero de bureau il le copie sur la colonne jusqu'a temps qu'il trouve un autre numero de bureau et qu'il fasse pareil
Merci d'avance
J'ai vrm besoin de votre aide voila j'ai posté précedemment une question mais j'ai l'impression que personne ne sait brm comment faire donc j'ai reussit a faire quelque chose d'autre. Maintenant j'aimerais une autre chose.
dans la colonne J , cellule A1 j'ai BUREAU:00235 et apres toujours dans la colonne J de la cellule A2 à A 45 (par exemple, ca ne sera pas toujours 45) je n'ai plus rien , et apres en A 46 j'ai BUREAU:00254 et ainsi de suite et ce que je voudrais, c'est que des que le programme renconte un numero de bureau il le copie sur la colonne jusqu'a temps qu'il trouve un autre numero de bureau et qu'il fasse pareil
Merci d'avance
2 réponses
-
Bonjour,
Ta question concerne quoi au juste :
- La récupération du numéro présent dans la chaine de caractères
- ou la copie ?
pour la copie... tu trouveras sans mal de très nombreux exemples sur le net....
Pöur ce qui est d'isoler le chiffre ... là .. tu pourrais faire un SPLIT de la chaine de caractères.
par exemple :Sub test() Dim vaCel As String Dim nombre As Long Dim arrTmp valCel = Sheets(1).Cells(1, 1).Value arrTmp = Split(valCel, ":") If UBound(arrTmp) = 1 Then nombre = arrTmp(1) Debug.Print "nombre = " & nombre End If End Sub
-
-
- Ah...
Donc juste une boulce toute bête....
un truc du genre :
Sub boucle() Dim Colonne As Integer Dim sht As Worksheet Dim LastRow As Long Dim valCel As String Dim valToCopy As String Set sht = ThisWorkbook.Sheets(1) ' Feuilles ou faire l'action 'Dernière ligne utilisée de la feuille LastRow = sht.Cells(sht.Rows.Count, "A").End(xlUp).Row Colonne = 1 ' A changer par ton numéro de colonne 'Boucle sur tes cellules For l = 1 To LastRow + 1 valCel = sht.Cells(l, Colonne).Value If valCel <> "" Then valToCopy = valCel Else sht.Cells(l, Colonne).Value = valToCopy End If Next End Sub
-
VOUS ETES GENIAL! MERCI
juste un petit probleme le dernier bureau
a la ligne 3000
ex de ce qui se passe
j3000 bureau 00271
j30001 vide
j3002 vide- Bonjour van_van,
Pour que le travail se fasse en colonne J, tu as dû remplacer en ligne 13
« colonne = 1 » par « colonne = 10 ».
Pour régler le problème dont tu parles, essaye en remplaçant en ligne 11
"A" par "J" (mais peut-être l'as-tu déjà fait ?) :
LastRow = sht.Cells(sht.Rows.Count, "J").End(xlUp).Row
Normalement, ça devrait marcher ; si ça ne règle pas ton problème,
n'hésites pas à me le dire et on essayera de trouver une solution.
Cordialement. 😊
-
-
Bonjour,
=SI(ESTERREUR(CHERCHE(":";A1));"";DROITE(A1;(NBCAR(A1)-CHERCHE(":";A1))*1))
à tirer vers le bas
mais il y a peut-^tre +simple
Michel-
non ce n'est pas vrm ca que je veux, il est vrai que sur le premier message je n'ai pas etait clair, du coup j'ai rajoué un commentaire afin de preciser la chose
- Bonjour van_van,
Je viens de compléter ma réponse, et j'espère
qu'elle résoudra ton problème :
Mon message 9
Cordialement. 😊
-